반응형
이것은 내 코드입니다
def fahrenheit(T):
return ((float(9)/5)*T + 32)
temp = [0, 22.5, 40,100]
F_temps = map(fahrenheit, temp)
이것은 mapobject이므로 이와 같은 것을 시도했습니다.
for i in F_temps:
print(F_temps)
<map object at 0x7f9aa050ff28>
<map object at 0x7f9aa050ff28>
<map object at 0x7f9aa050ff28>
<map object at 0x7f9aa050ff28>
확실하지 않지만 Python 2.7에서 내 솔루션이 가능하다고 생각합니다.이를 3.5로 변경하는 방법은 무엇입니까?
해결 방법
먼저지도를 목록이나 튜플로 바꿔야합니다. 하기 위해서,
print(list(F_temps))
이는 맵이 느리게 평가되기 때문에 값이 요청시에만 계산됨을 의미합니다. 예를 보자
def evaluate(x):
print(x)
mymap = map(evaluate, [1,2,3]) # nothing gets printed yet
print(mymap) # <map object at 0x106ea0f10>
# calling next evaluates the next value in the map
next(mymap) # prints 1
next(mymap) # prints 2
next(mymap) # prints 3
next(mymap) # raises the StopIteration error
for 루프에서 map을 사용하면 루프가 자동으로 next
를 호출하고 StopIteration 오류를 루프의 끝으로 처리합니다. list (mymap)
를 호출하면 모든지도 값이 강제로 평가됩니다.
result = list(mymap) # prints 1, 2, 3
그러나 evaluate
함수에는 반환 값이 없으므로 result
는 단순히 [None, None, None]
입니다.
참조 페이지 https://stackoverflow.com/questions/44461551
반응형
'파이썬' 카테고리의 다른 글
파이썬 인터프리터 오류, x는 인수를받지 않습니다 (주어진 1). (0) | 2020.10.19 |
---|---|
파이썬 바이트 문자열을 정수로 변환하는 방법은 무엇입니까? (0) | 2020.10.19 |
파이썬 왜 "IndentationError : expected an indented block"이 발생합니까? (0) | 2020.10.18 |
파이썬 Python : 값에 대해 목록의 발생 확인 (0) | 2020.10.18 |
파이썬 Keras-categorical_accuracy와 sparse_categorical_accuracy의 차이점 (0) | 2020.10.18 |
댓글