迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Python 中检查列表中的所有元素是否唯一

作者:迹忆客 最近更新:2022/12/25 浏览次数:

Python 中检查列表中的所有元素是否唯一:

  1. 使用 set() 类将列表转换为集合。
  2. 检查列表的长度是否等于集合的长度。
  3. 如果满足条件,则列表中的所有元素都是唯一的。
my_list = ['one', 'two', 'three']

# ✅ 检查列表中的所有元素是否都是唯一的
if len(my_list) == len(set(my_list)):
    # 👇️ this runs
    print('✅ All elements in the list are unique')
else:
    print('✅ Not all elements in the list are unique')

# ✅ 检查列表是否包含重复项
if len(my_list) > len(set(my_list)):
    print('✅ The list contains duplicates')
else:
    # 👇️ this runs
    print('✅ All elements in the list are unique')

Python 中检查列表中的所有元素是否唯一

我们使用 set() 类将列表转换为集合对象。

集合对象是唯一元素的无序集合,因此当列表转换为集合时,任何重复项都会被删除。

print(set(['one', 'one', 'one']))  # 👉️ {'one'}

print(set(['one', 'two', 'three']))  # 👉️ {'three', 'one', 'two'}

如果列表的长度等于集合的长度,则该列表不包含任何重复项并且其所有项目都是唯一的。

如果我们需要检查列表是否包含重复项,请检查列表的长度是否大于转换为集合对象的列表的长度。

my_list = ['one', 'one', 'two', 'three']

print(set(my_list))  # 👉️ {'one', 'two', 'three'}

if len(my_list) > len(set(my_list)):
    print('The list contains duplicates')
else:
    # 👇️ this runs
    print('All elements in the list are unique')

将列表转换为集合会删除任何重复项,因此如果列表包含重复项,它的长度将大于集合。

或者,我们可以使用 for 循环。

检查列表中的所有元素是否唯一:

  1. 初始化一个空集。
  2. 使用 for 循环遍历列表。
  3. 检查每个项目是否包含在集合中
  4. 如果该项目包含在集合中,则跳出循环,否则将项目添加到集合中。
def only_unique_elements(lst):
    set_obj = set()

    for item in lst:
        if item in set_obj:
            return False

        set_obj.add(item)

    return True


print(only_unique_elements(['one', 'two']))  # 👉️ True
print(only_unique_elements(['one', 'one']))  # 👉️ False

我们声明了一个变量并将其设置为一个空集合对象。

如果当前迭代的项目在集合中,我们从函数返回 False。如果该项目不在集合中,我们将其添加到集合中并继续下一次迭代。如果 for 循环遍历整个列表而不返回 False,则列表中的所有项目都是唯一的,我们从函数返回 True

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python 中的 Pandas 插入方法

发布时间:2024/04/23 浏览次数:112 分类:Python

本教程介绍了如何在 Pandas DataFrame 中使用 insert 方法在 DataFrame 中插入一列。

Pandas 重命名多个列

发布时间:2024/04/22 浏览次数:199 分类:Python

本教程演示了如何使用 Pandas 重命名数据框中的多个列。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便