Hiçbir şey yazdırmıyor. Neden? Ben de Yazdır, harita içinde değilken yazdırma yapmıyor, Python
sys.stdout.write(x)
denedim ama ya çalışmaz.
lambda x: print(x)
yana
Hiçbir şey yazdırmıyor. Neden? Ben de Yazdır, harita içinde değilken yazdırma yapmıyor, Python
sys.stdout.write(x)
denedim ama ya çalışmaz.
lambda x: print(x)
yana
Python < 3'te bir yazım hatasıdır, aslında bir listenin bütün elemanları üzerinde işlevini çağırmak için harita almak için anlam bir jeneratör döner map
anlamına Python 3. farz ediyorum, çıkan sonuçlara yinelemek gerekiyor sonuçta elde edilen jeneratör.
list(map(lambda x:print(x),primes))
Oh, ve isterseniz siz de lambda kurtulabilirsiniz:
Neyse ki, bu kolayca yapılabilir bu noktada daha iyi olan,
list(map(print,primes))
Ama icar baskı ile kapalı idare:
print(*primes, sep='\n')
NOT: Daha önce '\n'.join
'un iyi bir fikir olacağını söyledim. Bu sadece str'lerin listesi için geçerlidir.
Hala çok kötü bir fikir (idiomatik olmayan, belirgin değil - harita, filtre, liste anlamaları vb. Hesaplamalar içindir, yan etkiler için değildir) gerçi. Sadece bir for döngüsü veya 'print (* primes, sep = '\ n')' veya 'print ('\ n'.join (xr için prim'ler için str (x)'))) kullanmalısınız. – delnan
'print (x)' Python <3'te bir sözdizimi hatası değil. Düzen: Üzgünüz, bu soruda sözdizimi hatası var. – utdemir
@utdemir: Bir lambdada veya başka bir ifadede, (parens ile veya parens olmadan). Ben OP bu anlama geliyordu ve sadece ifade üzerinde nitpick istiyorum;) – delnan
Bu benim için çalışıyor:
>>> from __future__ import print_function
>>> map(lambda x: print(x), primes)
2
3
5
7
17: [None, None, None, None]
baskı açıklamada, bir fonksiyon olduğu Python 2.x kullanıyor musunuz?
Özellikle Python 2 kullandığınız için çalışır. Python 3'te, bunu yapmaz. Ve 'print' işlev olarak kullanıldığından ve sys.stdout.write'den sonra çalışmadığından OP'nin 3.x kullanımı daha olasıdır. – delnan
aslında bir lambda fonksiyonu tanımlamaksızın, doğrudan harita (baskı, primes) yapabilirsiniz. – hitzg
Python 2 veya Python 3? –
Bu, Python 2'deki bir yazım hatasıdır, bu yüzden Python 3'ü düşünürdüm. –