본문 바로가기

python332

Python 리스트의 불규칙한 (임의로 중첩된) 리스트를 평평하게 만듭니다., Flatten an irregular (arbitrarily nested) list of lists 질문 네, 저는 이 주제가 이전에 다뤄졌다는 것을 알고 있습니다: Python idiom to chain (flatten) an infinite iterable of finite iterables? Flattening a shallow list in Python Comprehension for flattening a sequence of sequences? How do I make a flat list out of a list of lists? 하지만 내가 알기로는, 하나를 제외한 모든 해결책들은 [[[1, 2, 3], [4, 5]], 6]와 같은 리스트에서 실패합니다. 여기서 원하는 출력은 [1, 2, 3, 4, 5, 6]입니다 (아니면 더 좋게는 반복자). 내가 본 유일한 해결책은 임의의 중첩에 대해.. 2023. 10. 6.
Python '/'와 '//'를 나눗셈에 사용할 때 차이점은 무엇인가요?, What is the difference between '/' and '//' when used for division? 질문 하나를 사용하는 것보다 다른 것을 사용하는 것에 이점이 있을까요? Python 2에서는 두 가지 모두 동일한 결과를 반환하는 것으로 보입니다: >>> 6/3 2 >>> 6//3 2 답변 파이썬 3.x에서 5 / 2는 2.5를 반환하고 5 // 2는 2를 반환합니다. 전자는 부동 소수점 나눗셈이고, 후자는 버림 나눗셈 또는 정수 나눗셈이라고도 합니다. 파이썬 2.2 이후의 2.x 라인에서는 정수에 대한 차이가 없습니다. 단, from __future__ import division을 수행하면 파이썬 2.x가 3.x 동작을 채택합니다. 미래 가져오기와 관계없이 5.0 // 2는 연산의 버림 나눗셈 결과인 2.0을 반환합니다. 자세한 설명은 PEP 238: Changing the Division Oper.. 2023. 9. 16.
Python 파이썬에서 사전(dictionary)의 임의의 요소에 액세스하기, Access an arbitrary element in a dictionary in Python 질문 만약 mydict가 비어 있지 않다면, 임의의 요소에 접근하는 방법은 다음과 같습니다: mydict[mydict.keys()[0]] 이를 더 좋은 방법으로 처리할 수 있는 방법이 있을까요? 답변 파이썬 3에서는 비파괴적으로 반복적으로: next(iter(mydict.values())) 파이썬 2에서는 비파괴적으로 반복적으로: mydict.itervalues().next() 파이썬 2와 3 모두에서 작동하도록 하려면 six 패키지를 사용할 수 있습니다: six.next(six.itervalues(mydict)) 하지만 이 시점에서는 암호화되어 있으며, 대신 여러분의 코드를 선호합니다. 항목을 제거하려면 다음을 사용하십시오: key, value = mydict.popitem() 여기서 "첫 번째"라는 .. 2023. 9. 14.
Python 'with' 문에서 여러 변수 사용하기?, Multiple variables in a 'with' statement? 질문 파이썬에서 with 문을 사용하여 하나 이상의 변수를 선언하는 것이 가능한가요? 다음과 같은 방식으로: from __future__ import with_statement with open("out.txt","wt"), open("in.txt") as file_out, file_in: for line in file_in: file_out.write(line) ... 또는 두 개의 리소스를 동시에 정리하는 것이 문제인가요? 답변 파이썬 3.1부터 가능하며 Python 3.1 및 Python 2.7에서 사용할 수 있습니다. 새로운 with 구문은 여러 개의 컨텍스트 매니저를 지원합니다: with A() as a, B() as b, C() as c: doSomething(a,b,c) contextlib... 2023. 9. 13.