我正在寻找一种基本的方法来排除从列表中打印某一项(而不是删除/删除),如果该命名值=指定的值,例如=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
好像我错过了一些简单的东西?还是这不像我想象的那么简单?
发布于 2015-08-19 15:35:45
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)发布于 2015-08-19 15:33:22
for l in lis:
if l != 0:
print l逐个迭代列表中的项。每次检查当前项l,看看它是否等于0。如果项目为非零,则打印该项目。
发布于 2015-08-19 15:37:04
以下是您可以使用的选项。
1)您可以使用普通循环
for i in lis:
if i != 0:
print i或
2) 列表理解
[i for i in lis if i!=0]我还是要说,在讨论Stackoverflow时,请考虑阅读教程,因为它是python中最基本的内容。
https://stackoverflow.com/questions/32099836
复制相似问题