Python 여러 개의 리스트의 카르테시안 곱을 얻는 방법은 무엇인가요?, How to get the Cartesian product of multiple lists
질문 카테시안 곱(값들의 모든 가능한 조합)을 여러 개의 리스트 그룹에서 어떻게 얻을 수 있을까요? 예를 들어, 다음과 같이 주어졌을 때 somelists = [ [1, 2, 3], ['a', 'b'], [4, 5] ] 어떻게 이를 얻을 수 있을까요? [(1, 'a', 4), (1, 'a', 5), (1, 'b', 4), (1, 'b', 5), (2, 'a', 4), (2, 'a', 5), ...] 이 기술의 일반적인 응용 중 하나는 깊게 중첩된 루프를 피하는 것입니다. 더 구체적인 중복을 보려면 중첩된 for 루프 피하기를 참조하세요. 마찬가지로, 이 기술은 리스트 값을 가진 사전을 "펼치는" 데 사용될 수 있습니다. Python 사전 순열을 사전 목록으로 결합하기를 참조하세요. 동일한 리스트를 여러 ..
2023. 10. 16.
Python 전치 / 압축 해제 기능 (zip의 역함수)?, Transpose/Unzip Function (inverse of zip)?
질문 나는 2개의 항목을 가진 튜플 목록이 있으며, 이를 첫 번째 항목을 포함하는 첫 번째 목록과 두 번째 항목을 포함하는 두 번째 목록으로 변환하고 싶습니다. 예를 들어: original = [('a', 1), ('b', 2), ('c', 3), ('d', 4)] # 그리고 나는 다음과 같이 되기를 원합니다... result = (['a', 'b', 'c', 'd'], [1, 2, 3, 4]) 이를 수행하는 내장 함수가 있을까요? 답변 2.x에서는 zip이 자체적으로 역함수입니다! 특별한 * 연산자를 사용하면 됩니다. >>> zip(*[('a', 1), ('b', 2), ('c', 3), ('d', 4)]) [('a', 'b', 'c', 'd'), (1, 2, 3, 4)] 이는 리스트의 각 요소를 별도..
2023. 9. 12.