如果你有列表理解,你怎么能嵌套多个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,则只打印与a或b匹配的x。 如果没有传递参数,则将打印list1的所有元素。
如何使用嵌套if else语句进行列表理解?
任何帮助?
谢谢
答案 0 :(得分:0)
我不认为你的例子是multiple ifs
list comprehension
中使用list of lists
的好例子。
否则,您可以查看此示例并对其进行修改以满足您的需求:
我想,我有一个名为a
的{{1}},就像这样:
a = [[1, 2, 0], [5, 6, 0], [0, 3, 5]]
我想查找每个子列表中的每个元素是odd
,even
还是zero
,然后返回另一个列表列表,其中包含有关我的默认列表列表的新信息。< / p>
所以,使用list comprehension
和multiple 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']]