primes = [2,3,5,7..] (prime numbers)
map(lambda x:print(x),primes)
它不打印任何東西。 這是爲什麼? 我試過了打印在地圖中不打印時,Python
sys.stdout.write(x)
也是,但也不起作用。
primes = [2,3,5,7..] (prime numbers)
map(lambda x:print(x),primes)
它不打印任何東西。 這是爲什麼? 我試過了打印在地圖中不打印時,Python
sys.stdout.write(x)
也是,但也不起作用。
由於lambda x: print(x)
是在Python < 3語法錯誤,我假設的Python 3,這意味着map
返回一個生成器,意思是讓地圖以實際調用列表中的每個元素的功能,你需要通過迭代最終的發電機。
幸運的是,這可以輕鬆完成:
list(map(lambda x:print(x),primes))
哦,你可以擺脫拉姆達也一樣,如果你喜歡:
list(map(print,primes))
但是,在這一點上,你最好關閉與讓打印處理:
print(*primes, sep='\n')
注:我剛纔說'\n'.join
將是一個好主意。這隻對str的列表是真的。
這個工作對我來說:
>>> from __future__ import print_function
>>> map(lambda x: print(x), primes)
2
3
5
7
17: [None, None, None, None]
你使用Python 2.x的地方打印是一個聲明,而不是一個功能?
Python 2或Python 3? –
這是Python 2中的一個語法錯誤,所以我會假定爲Python 3. –