저는 Python을 처음 사용합니다. 내가 파이썬 3.3.2를 사용하고 있는데 제가 알아내는 힘든 시간을 보내고있어 이유를 다음 코드지도 함수에 의해 반환 된 목록은 한 번 사용하면 사라집니다.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: min() arg is an empty sequence
그러나이 코드 :
strList = ['1','2','3']
intList = list(map(int,strList))
largest = max(intList)
smallest = min(intList)
strList = ['1','2','3']
intList = map(int,strList)
largest = max(intList)
smallest = min(intList)
날이 오류를 제공합니다
전혀 오류가 없습니다.
제 생각에 intList가 map 함수의 반환 값에 할당되면 the docs에 따라 목록이 아닌 반복자가됩니다. 그리고 아마도 max()
을 호출하는 부작용으로서 반복자가 목록의 끝까지 반복되어 파이썬이 목록이 비어 있다고 믿게 만들었습니다 (저는 C 지식에서 그림을 그렸습니다. 반복자가 실제로 어떻게 작동하는지 잘 알지 못합니다.) . 코드의 두 번째 블록 반면
>>> type(intList)
<class 'map'>
:
>>> type(intList)
<class 'list'>
하는 사람을 확인하거나 거부 할 수 있습니다 파이썬에서) 나는이 기능을 지원해야하는 유일한 증거는 코드의 첫 번째 블록,이다 제발 제발요?
목록보다 더 나은 목적에 맞는 튜플 또는지도 개체를 설정할 수도 있습니다. – fanny