반응형
나는 정렬 된 목록을 가지고 있습니다.
mylist = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,9 , 10 ]
N 개의 항목을 제공하지만 주문을 유지하는 파이썬 함수가 있습니까?
예:
randomList = getRandom(mylist,4)
# randomList = [ 3 , 6 ,7 , 9 ]
randomList = getRandom(mylist,4)
# randomList = [ 1 , 2 , 4 , 8 ]
기타...
해결 방법
다음 코드는 크기 4의 무작위 샘플을 생성합니다.
import random
sample_size = 4
sorted_sample = [
mylist[i] for i in sorted(random.sample(range(len(mylist)), sample_size))
]
(참고 : Python 2에서는 range
대신 xrange
를 사용하는 것이 좋습니다.)
설명
random.sample(range(len(mylist)), sample_size)
원래 목록의 인덱스 에 대한 무작위 샘플을 생성합니다.
이러한 인덱스는 원래 목록의 요소 순서를 유지하기 위해 정렬됩니다.
마지막으로, 목록 이해력은 샘플링 된 인덱스가 주어지면 원래 목록에서 실제 요소를 가져옵니다.
참조 페이지 https://stackoverflow.com/questions/6482889
반응형
'파이썬' 카테고리의 다른 글
파이썬 장고 SUM 쿼리? (0) | 2020.09.30 |
---|---|
파이썬 Python + MySQL-대량 삽입 (0) | 2020.09.30 |
파이썬 Python TypeError : 필수 인수 'source'(pos 1)를 찾을 수 없습니다. (0) | 2020.09.29 |
파이썬 Python, 계산 목록 차이 (0) | 2020.09.29 |
파이썬 동전 던지기 문제에 대한 Python 코드 (0) | 2020.09.29 |
댓글