Python 测试列表中的非类型元素
我有这样一个列表Python 测试列表中的非类型元素,python,list,recursion,nonetype,Python,List,Recursion,Nonetype,我有这样一个列表inputs=[None,None,None,None,None,None] 我想评估所有元素是否都相同,但没有: 如果是,则返回一个空列表,该列表为[] 到目前为止,我所尝试的似乎不起作用: 如果所有(输入)均为无: 打印([]) 其他: 打印(“其他东西” 在所有中,您需要迭代输入,并将每个元素分别与无进行比较,即: all()告诉您传递给它的iterable中的每个元素是否都是True。因此,all([True,True,True])应该是True,但是all([True,
inputs=[None,None,None,None,None,None]
我想评估所有元素是否都相同,但没有:
如果是,则返回一个空列表,该列表为[]
到目前为止,我所尝试的似乎不起作用:
如果所有(输入)均为无:
打印([])
其他:
打印(“其他东西”
在所有
中,您需要迭代输入
,并将每个元素分别与无
进行比较,即:
all()
告诉您传递给它的iterable中的每个元素是否都是True
。因此,all([True,True,True])
应该是True,但是all([True,False])
不会
如果要查看是否所有元素都是无
,则需要:
all(x is None for x in inputs)
这样做的目的是使用生成器对
输入中的所有值进行循环,检查它们是否为None
和all()
检查所有这些结果,并返回True
如果它们都为True,则需要在all()中迭代列表的元素。这应该会有所帮助
inputs = [None, None, None, None, None, None, None, None]
if all(i is None for i in inputs):
print([])
else:
print("Something Else")
all(输入中的x为None)
如果一个元素不是None怎么办-打印所有的None和一个元素的原样?print([a为输入中的a,如果a为None])
只能用于打印列表中的None-None
元素-对于所有None
s的列表,这等于[]
。但是为什么在这样的场景中,“#inputs=[3,0,1,2,None]#print([i for i in inputs in if i])”0被评估为None呢?它不会被评估为None
if i
将测试i
是否真实-签出
inputs = [None, None, None, None, None, None, None, None]
if all(i is None for i in inputs):
print([])
else:
print("Something Else")