检查列表中多个列表的所有元素是否相同

时间:2018-06-24 06:08:14

标签: python python-3.x

如何检查列表中多个列表的元素是否相同?以下代码来自Checking if all elements of a List of Lists are in another List of Lists Python,但仅计算列表中列表的数量,而不计算列表中列表的元素。预先感谢!

x.count(x[0]) == len(x)

3 个答案:

答案 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)