, map
iyi çalışıyor:Neden harita (yazdırma, a_list) çalışmıyor?
def increment(n):
return n+1
l = [1, 2, 3, 4, 5]
l = map(increment, l)
print l
>>> [2, 3, 4, 5, 6]
Ancak print
map
işlevi içinde konduğunu ise:
l = [1, 2, 3, 4, 5]
l = map(print, l)
print l
piton şikayet:
l = map(print, l)
^
SyntaxError: invalid syntax
kılan print
özel? print(x)
aynı zamanda geçerli bir işlev çağrısı yapmıyor mu? Yukarıdaki kod python 2.7 altında test edilmiştir.
Patlamayacak ama beklenildiği gibi çalışmayacak. Ben Clwen aslında bir şeyler yazdırmak istedim ve '<0x9a62aec> 'deki harita nesnesini almak istemedi. Yazdırmak isterseniz, harita nesnesi üzerinde yinelemek zorundasınız. –
"Patlatmayacağım" ile ne kastettiğinizden emin değilim ... Eğer Python 2.x'te "map (print, [])" komutunu çalıştırmayı denerseniz, 'SyntaxError: geçersiz sözdizimi ' 'bir ifadedir. Python 3.x'te denemelisiniz, burada 'print' bir işlevdir ve 'map()' öğesine aktarmak için tamamen yasaldır. Python'da 2.x 'map()' bir liste döndürür, bir '
Demek istediğim: Evet, haklısın, 'harita (baskı, [])' Python 3'de havaya uçurmayacak (istisna atmayacak) 3. Ama bir istisna atmasa da, sonuç muhtemelen clwen'in istediği şey değildir. almak. –