Python 打印列表,同时排除特定的命名值
我正在寻找一种基本方法,如果命名值=指定值,例如=0,则可以从列表中排除打印项目(而不是删除/删除) 我以为这是一个基本的问题,但我得到了一个错误,我没有定义Python 打印列表,同时排除特定的命名值,python,list,Python,List,我正在寻找一种基本方法,如果命名值=指定值,例如=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 六, 好像我错过了一些简单的事情?还是这不像我想象的那么简单 for l in lis: if l != 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
六, 好像我错过了一些简单的事情?还是这不像我想象的那么简单
for l in lis:
if l != 0:
print l
逐个遍历列表中的项目。每次检查当前项目l
,看它是否等于0。如果项目不为零,则打印该项目
逐个遍历列表中的项目。每次检查当前项目
l
,看它是否等于0。如果项目不为零,则打印该项目。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
或者使用列表理解(这里技术上是生成器表达式):
或者完全跳过循环:
print '\n'.join(str(i) for i in lis if i != 0)
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
或者使用列表理解(这里技术上是生成器表达式):
或者完全跳过循环:
print '\n'.join(str(i) for i in lis if i != 0)
以下是您可以使用的选项 1) 您可以使用普通循环
for i in lis:
if i != 0:
print i
或
2) 列出理解力
[i for i in lis if i!=0]
我仍然会说,当进入StAdvOpLoad时,请考虑通过教程,因为它是Python中最基本的东西。
< P>这里有您可以使用的选项。 1) 您可以使用普通循环for i in lis:
if i != 0:
print i
或
2) 列出理解力
[i for i in lis if i!=0]
我还是会说,当来到StAdvOpLoad时,请考虑通过教程,因为它是Python中最基本的东西。
你想在In(LIS)中做一些类似于<代码>的事情吗?0:print i?Python中的[collection]语法中的[condition]没有。不过,[collection]
中有[var]的。这使得“TypeError:range()integer end-argument expected,get-list”Python要求您在单独的步骤中迭代并检查结果。首先迭代这些值,然后在循环体的下一步执行检查。是否要对范围内的i(lis)执行类似于的操作:如果i=0:print i
?Python中的[collection]
语法中的[condition]没有。不过,[collection]
中有[var]的。这使得“TypeError:range()integer end-argument expected,get-list”Python要求您在单独的步骤中迭代并检查结果。首先在这些值上迭代,然后在该循环的正文中实现检查。请考虑编辑您的帖子,以添加更多关于您的代码所做的解释以及它为什么会解决问题的更多解释。通常只包含代码(即使它正在工作)的答案通常不会帮助OP理解它们的问题。请考虑编辑您的帖子,以添加更多关于您的代码所做的解释以及为什么它会解决问题的解释。一个只包含代码的答案(即使它在工作)通常不会帮助OP理解他们的问题。