count 计数 判断重复
  X5zJxoD00Cah 2023年11月02日 37 0

如果你想要判断一个列表中的元素是否重复,并找出哪些元素是重复的,你可以使用Python的集合(set)和字典(dict)来实现。下面是一个简单的例子:

def find_duplicates(lst):
    # 创建一个空字典
    count = {}
    # 遍历列表,统计每个元素出现的次数
    for item in lst:
        if item in count:
            count[item] += 1
        else:
            count[item] = 1
    # 找出出现次数大于1的元素,即重复的元素
    duplicates = [item for item, count in count.items() if count > 1]
    return duplicates

# 测试
lst = [1, 2, 2, 3, 3, 3, 4, 5, 6, 6]
print(find_duplicates(lst))  # 输出:[2, 3, 6]

这段代码首先创建了一个空字典,然后遍历列表中的每个元素,统计每个元素出现的次数。最后,找出那些出现次数大于1的元素,即为重复的元素。这样就可以找出列表中所有重复的元素了。


在Python中,我们可以使用字典(dict)来存储键值对。但是,字典的键必须是唯一的,如果我们尝试插入具有相同键的项,那么新的值将覆盖旧的值。因此,字典中的键不会重复。

但是,如果你想找出输入列表中重复的元素,你可以使用以下代码:

def find_duplicates(lst):
    duplicates = set([x for x in lst if lst.count(x) > 1])
    return list(duplicates)

lst = ['a', 'b', 'c', 'a', 'b', 'd']
print(find_duplicates(lst))  # 输出:['a', 'b']

这段代码首先创建一个集合,集合中的元素是列表中出现次数大于1的元素。然后,我们将这个集合转换为列表并返回。这样,我们就可以找到列表中重复的元素。

如果你想找出字典中值重复的键,你可以使用以下代码:

def find_keys_with_duplicate_values(my_dict):
    flipped = {}
    for key, value in my_dict.items():
        if value not in flipped:
            flipped[value] = [key]
        else:
            flipped[value].append(key)
    duplicates = {key: values for key, values in flipped.items() if len(values) > 1}
    return duplicates

my_dict = {'a': 1, 'b': 2, 'c': 2, 'd': 3, 'e': 3, 'f': 3}
print(find_keys_with_duplicate_values(my_dict))  # 输出:{2: ['b', 'c'], 3: ['d', 'e', 'f']}

这段代码首先创建一个空字典flipped,然后遍历输入字典my_dict中的每一项。对于每一项,我们检查其值是否已经在flipped中作为键存在。如果不存在,我们就添加一个新项,其键是my_dict中的值,其值是一个只包含my_dict中键的列表。如果已经存在,我们就在对应的列表中添加my_dict中的键。最后,我们返回一个新字典,其中只包含那些在flipped中对应多个键(即在原字典中值重复)的项。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年12月11日   26   0   0 知乎Python迭代器
  X5zJxoD00Cah   2023年12月12日   34   0   0 Python.net
X5zJxoD00Cah