我有一个列表和列表
A=["grp 1", "grp 2"]
B=[["1","2"],["3","4"],["5","6"]]
如何检查B中的每个列表是否等于A的长度?
我想要像
这样的东西if len(A) != len(list in B):
raise ValueError('special error message')
答案 0 :(得分:3)
如果您想确保 B
的每个元素都不等于A
的长度,那么您可以使用:
a_len = len(A)
all(len(x) != a_len for x in B)
如果您想查看B
的任何元素是否与A
的长度不同,您可以使用以下内容:
a_len = len(A)
any(len(x) != a_len for x in B)
所以在你的情况下你可以使用:
a_len = len(A)
if any(len(x) != a_len for x in B):
raise error
答案 1 :(得分:0)
作为补充说明,如果您想知道列表中的每个元素是否具有相同的长度而不管其值如何,您可以使用
len( set( len(x) for x in my_list ) ) == 1
设置你消除所有重复,所以如果最后如果它的长度超过一个那么一些东西有不同的大小