我正在寻找一种基本的方法来排除从列表中打印项目(不是删除/删除),如果该命名值=指定的内容,例如= 0
我认为这将是一个基本的东西,但我得到一个错误,我没有定义。
a = 2
b = 0
c = 4
d = 0
e = 6
lis = [a,b,c,d,e]
while i != 0 in range(lis):
print (lis[i])
通缉结果:
2
4
6
好像我错过了一些简单的东西?或者这不是我想象的那么简单吗?
答案 0 :(得分:4)
Python语法不支持您尝试应用它的条件。但是有几种选择:
你可以把条件放在循环中:
for item in lis:
if item != 0:
print item
您可以过滤列表:
for item in filter(lambda i: i!=0, lis): # filter(None, lis) works too
print item
或者使用列表推导(技术上是生成器表达式):
for item in (i for i in lis if i != 0):
print item
或完全跳过循环:
print '\n'.join(str(i) for i in lis if i != 0)
答案 1 :(得分:0)
for l in lis:
if l != 0:
print l
逐个遍历列表中的项目。每次检查当前项目l
以查看它是否等于0.如果该项目非零,则打印该项目。
答案 2 :(得分:0)
以下是您可以使用的选项。
1)您可以使用正常循环
for i in lis:
if i != 0:
print i
或强>
2)列表理解
[i for i in lis if i!=0]
我仍然会说到Stackoverflow时,请考虑阅读教程,因为它是python中最基本的东西。