2015-03-10 7 views
-5

Как напечатать некоторые элементы списка, например:Как напечатать некоторые элементы списка

list1=["0","0","0","0","0","0","Element1","0","0","0","0"] 

Есть ли простой способ напечатать только element1, который указывает, что вы не должны печатать все, что равна 0.

+0

Ваш вопрос непонятен, можете ли вы включить более подробную информацию и предоставить более подробный пример? – CoryKramer

+0

пример http://www.pythontutor.com/visualize.html#code=list1%3D%5B%220%22,%220%22,%220%22,%220%22,%220%22,%220 % 22% 22% 22Element1,% 220% 22% 220% 22% 220% 22% 220% 22% 5D% 0Afor + пункт + в +% 3A песни1% 0A ++++ если + пункт +!% 3D +% 220% 22% 3A% 0A ++++++++ print (item) & mode = edit & origin = opt-frontend.js & cumulative = false & heapPrimitives = false & textReferences = false & py = 2 & rawInputLstJSON =% 5B% 5D – neiesc

ответ

1

Используйте список понимание или (как в данном примере) в выражении генератора, чтобы отфильтровать «0» элементы и петли через отфильтрованный список:

for item in (x for x in list1 if x != "0"): 
    print(item) 

Эта печать s все элементы, которые не являются «0».

+0

Приятно, но это на самом деле [выражение генератора] (https://docs.python.org/2/reference/expressions.html#generator-expressions), а не [понимание списка] (https://docs.python.org/2/tutorial/datastructures. HTML # список-постижения). Часто gen exp более эффективен, чем список comp, поскольку ему не нужно создавать новый список в памяти; OTOH, требуется немного больше времени для создания gen exp, чем список comp. В этом конкретном случае, вероятно, не имеет большого значения то, что вы используете. –

+0

@ PM2Ring: Да, мой плохой, обновленный ответ :) – Moberg