Python 中检查列表中的所有元素是否唯一
Python 中检查列表中的所有元素是否唯一:
- 使用 set() 类将列表转换为集合。
- 检查列表的长度是否等于集合的长度。
- 如果满足条件,则列表中的所有元素都是唯一的。
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')
我们使用 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 循环。
检查列表中的所有元素是否唯一:
- 初始化一个空集。
- 使用 for 循环遍历列表。
- 检查每个项目是否包含在集合中
- 如果该项目包含在集合中,则跳出循环,否则将项目添加到集合中。
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。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。