ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python-比较可变数量的列表是否相等的更好方法

2019-11-23 10:58:29  阅读:215  来源: 互联网

标签:list equality comparison python


我在这里有点困惑,我在寻找一种简单而动态的方法来检查列表字典中的所有列表是否相同.

以下是我现在正在执行的示例,但显然我的列表包含实际数据(字符串):

def sample_method(var=10):
    d = {}
    for i in range(var):
        d[i] = range(10)
    return d

def compare_method(d):
    lists = d.values()
    first = lists[0]
    for lst in lists[1:]:
        if first != lst:
            return False
    return True  

print compare_method(sample_method(5))
# returns True

我想要一种比较简单的方法来比较所有列表是否相同.我的偏好是它将是单线的,类似于:

def desired_method():
    # logic to get d.
    if "all lists are equal": # replace this with the one-liner logic.
        # do more logic.

解决方法:

这应该工作:

if len(set(tuple(i) for i in d.values())) == 1

这首先将列表转换为元组,以便可以将它们放入集合中(列表不可散列).该集合将删除所有重复项,因此,如果集合的长度为1,则列表中的所有元素必须相同.

标签:list,equality,comparison,python
来源: https://codeday.me/bug/20191123/2066817.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有