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 range()를 사용하여 역순으로 목록을 출력합니다., Print a list in reverse order with range()?
질문 파이썬에서 range()를 사용하여 다음과 같은 리스트를 어떻게 생성할 수 있을까요? [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] 답변 사용하려면 reversed() 함수를 사용하세요 (효율적인 이유로 range는 __reversed__를 구현합니다): reversed(range(10)) 이것이 훨씬 의미가 있습니다. 업데이트: list 캐스트 만약 list로 만들고 싶다면 (@btk가 지적한 대로): list(reversed(range(10))) 업데이트: range만 사용하는 해결책 동일한 결과를 얻기 위해 range만 사용하려면 모든 매개변수를 사용할 수 있습니다. range(start, stop, step) 예를 들어, 리스트 [3, 2, 1, 0]을 생성하려면 다음을 사용할 수 ..
2023. 10. 16.
Python 파이썬에서 datetime.time에 N초를 추가하는 표준 방법은 무엇인가요?, What is the standard way to add N seconds to datetime.time in Python?
질문 파이썬에서 datetime.time 값이 주어지면, 예를 들어 11:34:59 + 3 = 11:35:02와 같이 정수 초를 추가하는 표준 방법이 있을까요? 다음과 같은 명백한 아이디어들은 작동하지 않습니다: >>> datetime.time(11, 34, 59) + 3 TypeError: +에 대한 지원되지 않는 피연산자 유형: 'datetime.time' 및 'int' >>> datetime.time(11, 34, 59) + datetime.timedelta(0, 3) TypeError: +에 대한 지원되지 않는 피연산자 유형: 'datetime.time' 및 'datetime.timedelta' >>> datetime.time(11, 34, 59) + datetime.time(0, 0, 3) Ty..
2023. 10. 16.
Python 왜 파이썬에는 튜플 내장(comprehension)이 없을까요?, Why is there no tuple comprehension in Python?
질문 우리는 모두 알다시피, 리스트 컴프리헨션이 있습니다. 예를 들면 [i for i in [1, 2, 3, 4]] 그리고 딕셔너리 컴프리헨션이 있습니다. 예를 들면 {i:j for i, j in {1: 'a', 2: 'b'}.items()} 하지만 (i for i in (1, 2, 3)) 는 제너레이터가 됩니다. tuple 컴프리헨션이 아닙니다. 그 이유는 무엇일까요? 제 추측은 tuple이 불변형(immutable)이기 때문인데, 이것이 정답인 것 같지는 않습니다. 답변 생성자 표현식을 사용할 수 있습니다: tuple(i for i in (1, 2, 3)) 하지만 괄호는 이미 생성자 표현식을 위해 사용되었습니다.
2023. 10. 16.