SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • backyardjay

    backyardjay

    8 ŞUBAT 2009
  • Engadget

    Engadget

    18 EYLÜL 2006
  • FRED

    FRED

    1 EKİM 2005