19 NİSAN 2013, Cuma
Hiçbiri bir listeden değer 0 değerini çıkarmadan çıkarın
This was my source I started with.
Benim Liste
L= [0, 23, 234, 89, None, 0, 35, 9]
Bu çalıştırdığımda :
L = filter(None, L)
Bu sonuçlar alıyorum
[23, 234, 89, 35, 9]
Ama ihtiyacım olan bu değil, asıl ihtiyacım olan şey
[0, 23, 234, 89, 0, 35, 9]
Verilerin yüzdelik hesaplıyorum ve 0 çok fazla fark var çünkü.
Nasıl 0 değeri çıkarmadan listesinden Hiçbiri değerini kaldırmak için?
DÜZENLEME:
Bu poython Liste fonksiyonuna sahip olan kafası karışık olacak çünkü L Listesini değiştirebilir. açıklama feryat okuyun.
CEVAP
19 NİSAN 2013, Cuma
>>> L = [0, 23, 234, 89, None, 0, 35, 9]
>>> [x for x in L if x is not None]
[0, 23, 234, 89, 0, 35, 9]
Sadece eğlence için, burada filter
lambda
(bu kodu tavsiye etmem - sadece bilimsel amaçlar için) kullanarak olmadan bunu yapmak için uyarlayabilirsiniz
>>> from operator import is_not
>>> from functools import partial
>>> L = [0, 23, 234, 89, None, 0, 35, 9]
>>> filter(partial(is_not, None), L)
[0, 23, 234, 89, 0, 35, 9]
Bunu Paylaş:
Python ile bir listeden benzersiz değe...
açılan listeden bir seçeneği kaldırmak...
Python bir listeden bir değer her yere...
Nasıl Spinner değerini almak için?...
Angularjs: [metin] ngChange yangınlar ...