具有列表理解的Python嵌套if语句
当您有列表理解时,如何嵌套多个ifs 我有这个功能:具有列表理解的Python嵌套if语句,python,nested,list-comprehension,Python,Nested,List Comprehension,当您有列表理解时,如何嵌套多个ifs 我有这个功能: @click.command @click.option(--a) @click.option(--b) def func1(a,b): for x in list1: if any([a, b]): if any(x==a, x==b]): print ('x') else: print ('x') 如您所见,示例函数采用可选参数。 因此,如果将a或b传递给func1,则
@click.command
@click.option(--a)
@click.option(--b)
def func1(a,b):
for x in list1:
if any([a, b]):
if any(x==a, x==b]):
print ('x')
else:
print ('x')
如您所见,示例函数采用可选参数。
因此,如果将a或b传递给func1,则只打印与a或b匹配的x。
如果未传递任何参数,则将打印列表1的所有元素
如何使用嵌套的if-else语句进行列表理解
有什么帮助吗
谢谢我不认为你的例子是一个好例子,你可以在
列表理解中使用多个ifs
否则,您可以查看此示例并对其进行修改以满足您的需要:
我想,我有一个名为a
的列表,如下所示:
a = [[1, 2, 0], [5, 6, 0], [0, 3, 5]]
我想找出每个子列表的每个元素是否是奇数
,偶数
或零
,然后返回另一个列表,其中包含关于默认列表的新信息
因此,使用列表理解
和多个ifs
,我可以这样做:
final = [["odd" if (k %2 != 0 and k != 0) else "even" if (k%2 == 0 and k!=0) else "zero" for k in j] for j in a ]
print(final)
输出:
>>> [['odd', 'even', 'zero'], ['odd', 'even', 'zero'], ['zero', 'odd', 'odd']]
如果有,列表用括号括起来(…
不匹配…它还将打印'x'
,而不是x
…不是最好的示例,如果只是打印一些结果,那么我不会将其与列表理解混淆。不要仅将列表理解用于副作用。给出的示例不需要嵌套的ifs,因为您不必检查任何([a,b])因为您没有访问它们的任何方法或属性。