python——集合set不存在重复元素

1、set创建
(1)非空集合两种创建方式

# 第一种创建方式
In [1]: set1 = set([1,2,3])
# 第二种创建方式
In [2]: set2 = {1, 2, 3}

(2)空集合只能使用如下方式

In [1]: empty_set = set()

2、set中不存在重复元素

In [1]: set1 = set([1,2,3, 1, 2, 3, 'a', 'b', 'b'])
In [2]: set1
Out[2]: {1, 2, 3, 'a', 'b'}

3、set不支持索引

In [1]: set1 = set([1,2])
In [2]: set1[0]
TypeError: 'set' object does not support indexing
### Python 中使用集合 (set) 判断列表是否存在重复元素Python 中,可以通过集合(`set`)这一数据结构来高效判断列表中是否存在重复元素。由于集合只允许存储唯一值,因此可以利用其特性轻松实现目标。 以下是具体方法: #### 方法一:直接比较长度 通过将列表转换为集合并对比两者的长度,即可快速检测是否存在重复项。如果存在重复项,则集合的大小会小于原列表的大小。 ```python def has_duplicates_length_check(input_list): return len(input_list) != len(set(input_list)) ``` 此方法基于以下逻辑:当列表被转化为集合时,所有重复元素都会自动移除[^2]。因此,若两者长度一致,则表明原始列表中有重复元素。 #### 方法二:记录首次出现情况 另一种方式是手动构建一个辅助集合,在遍历过程中检查当前元素是否已经存在于该集合之中。 ```python def has_duplicates_manual_tracking(input_list): seen_elements = set() for element in input_list: if element in seen_elements: return True # 发现重复即刻返回True seen_elements.add(element) return False # 遍历结束未发现任何重复 ``` 这种方法仅能够确认是否有重复,还可以提前终止循环一旦找到第一个重复实例,从而可能提高性能效率[^1]。 以上两种方案均有效解决给定问题,开发者可根据实际需求选取最合适的算法版本应用至项目当中。 ### 示例代码展示 下面给出一段完整的测试程序,演示上述两种技术的实际运用效果: ```python if __name__ == "__main__": sample_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1] result_via_length = has_duplicates_length_check(sample_data) print(f"Using length comparison method: {'Yes' if result_via_length else 'No'}") result_via_tracking = has_duplicates_manual_tracking(sample_data) print(f"Using manual tracking method: {'Yes' if result_via_tracking else 'No'}") ``` 运行这段脚本将会打印两次相同的结果——因为样本数组确实含有重复数值(两个 `1`)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值