如何检查列表中多个列表的元素是否相同?以下代码来自Checking if all elements of a List of Lists are in another List of Lists Python,但仅计算列表中列表的数量,而不计算列表中列表的元素。预先感谢!
x.count(x[0]) == len(x)
答案 0 :(得分:0)
1)您可以使用此:
for i in l:
if len(set(i)) != 1:
print('not ok')
break
else:
print('ok')
2)为此,最好使用一行语句,如下所示:
all([len(set(i)) == 1 for i in l])
l
是列表列表。
答案 1 :(得分:0)
for prev, next in zip(l[:-1],l[1:]):
if prev != next:
return False
return True
答案 2 :(得分:0)
如果子列表的所有元素都相同,则创建一个存储1
的中间列表。稍后,检查原始列表和中间列表的长度是否相同:
lst = [[2,2,2], ['d']]
inter = [1 for x in lst if x[1:] == x[:-1]]
if len(lst) == len(inter):
print(True)
else:
print(False)
或者您只需要:
if all([1 if x[1:] == x[:-1] else 0 for x in lst]):
print(True)
else:
print(False)