주어진 샘플 프레임에서 가능한 모든 고유 샘플을 생성하는 간단한 방법이 있습니까? 5 개의 요소 멤버 = [ 'P', 'V', 'S', 'T', 'A']가있는 목록이 있으며, 순서를 무시하고 가능한 모든 2 요소 조합을 그리고 싶습니다. 즉 'PV'는 'VP'와 동일합니다. 따라서 목록 [ 'P', 'V', 'S', 'T', 'A']에서 10, 2 개의 요소 샘플을 얻어야합니다.
나는 트릭을 수행하는 무언가를 만들었지 만 이미 사용 가능한 방법이나 기능이 있는지 궁금해하고 단순히 샘플 프레임, 샘플 크기를 제공하고 가능한 모든 조합을 만들 수 있습니다.
members = list('PVSTA')
ms = []
for i in members:
for j in members:
if i != j and i+j not in ms and j+i not in ms:
ms.append(i+j)
else:
continue
print(ms)
['PV', 'PS', 'PT', 'PA', 'VS', 'VT', 'VA', 'ST', 'SA', 'TA']
입력 iterable에서 요소의 itertools.combinations(iterable, r)
반환 r
길이 하위 시퀀스를 사용할 수 있습니다 . 귀하의 경우 그래서 반복자는 때 ['P', 'V', 'S', 'T', 'A']
와 r=2
는 반환 5 C 2 = 10 조합.
사용하다:
from itertools import combinations
ms = ["".join(c) for c in combinations(list("PVSTA"), r=2)]
print(ms)
산출:
['PV', 'PS', 'PT', 'PA', 'VS', 'VT', 'VA', 'ST', 'SA', 'TA']
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다