首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查列表中多个列表的所有元素是否相同

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

Stack Overflow用户
提问于 2018-06-24 06:08:13
回答 3查看 1K关注 0票数 0

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

代码语言:javascript
运行
复制
x.count(x[0]) == len(x)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-24 06:14:20

1)您可以使用以下方法:

代码语言:javascript
运行
复制
for i in l:
    if len(set(i)) != 1:
       print('not ok')
       break
else:
    print('ok')

2)为此目的最好使用一行语句,如下所示:

代码语言:javascript
运行
复制
all([len(set(i)) == 1 for i in l])

l是列表列表。

票数 0
EN

Stack Overflow用户

发布于 2018-06-24 06:17:28

代码语言:javascript
运行
复制
for prev, next in zip(l[:-1],l[1:]):
    if prev != next:
        return False
return True
票数 0
EN

Stack Overflow用户

发布于 2018-06-24 06:18:39

如果子列表的所有元素都相同,则创建存储1的中间列表。稍后,检查原始列表和中间列表的长度是否相同:

代码语言:javascript
运行
复制
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)

或者你只需要:

代码语言:javascript
运行
复制
if all([1 if x[1:] == x[:-1] else 0 for x in lst]):
    print(True)
else:
    print(False)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51007376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档