我有一个列表列表,其中包含if语句必须满足的所有条件,但问题是存储在列表列表中的条件数是未知的。例如,列表列表如下:
my_list: [["A", "0"], ["B", "1"], ["C", "2"]]
所以if应该是:
if A==0 and B==1 and C==2:
#do-something
else:
pass
因为我不知道列表列表中的元素数量,我做不到:
if my_list[0][0]==my_list[0][1] and my_list[1][0]==my_list[1][1] and my_list[2][0]==my_list[2][1]:
#do-something
else:
pass
我该如何解决这个问题?
已经提出类似的问题here但是没有明确解释/实施此问题。
感谢。
答案 0 :(得分:6)
您可以在generator expression中使用all()
:
if all(i == j for i, j in my_list): # use int(j) if 'j' is string and 'i' is integer.
# do something
答案 1 :(得分:2)
我认为@Kasramwd提供了最多的pythonic解决方案,但另一种方法是使用Python的else
clause on a for
loop。
Ok