Python列表与集合的核心操作详解
本文详细解析Python中列表(list)与集合(set)的基础操作。涵盖列表的追加、扩展与反转,以及集合的添加、更新、复制与集合运算(差集、并集、交集)。通过具体代码示例,帮助开发者掌握两种数据结构的特性与使用场景。
列表(List)的基础操作
Python 列表是一种有序且可变的序列,支持多种元素修改方式。理解 append 与 extend 的区别是掌握列表操作的关键。
list = [1, 2, 3]
# 追加单个元素
list.append(5)
print(list)
# 扩展列表:将可迭代对象的元素逐一加入
list.extend([7, 8])
print(list)
# 注意:append 将传入参数视为一个整体元素
list.append([7, 8])
print(list)此外,列表支持原地反转操作。需特别注意,reverse() 方法直接修改原列表并返回 None,因此不能将其赋值给新变量。
list.reverse() # 原地翻转,无返回值
# 错误示例:l = list.reverse() 会导致 l 为 None
print(list)
集合(Set)的增删改查
集合是无序且不重复的元素集。创建集合时,可直接将列表转换为集合以去除重复项。
list = [1, 1, 3, 2, 3]
s = set(list)
print(s)在添加元素时,add() 方法仅接受单个不可变元素。若尝试添加列表等可变对象,将引发错误。
s.add(4)
# s.add([2,3]) 会报错,因为列表不可哈希
print(s)使用 update() 可以批量更新集合,但传入的必须是一个可迭代对象(如列表),而非单个标量值。
s.update([3, 5, 6])
# s.update(5) 会报错,需传入可迭代对象
print(s)集合的复制与引用陷阱
集合复制分为浅拷贝与引用赋值,二者在内存指向与后续修改行为上存在显著差异。
c = s.copy() # 创建新集合,独立于原集合
cc = s # 仅创建引用,指向同一内存地址
print(c)
print(cc)
# 验证:cc 与 c 不是同一个对象
print(cc is c)集合运算:差集、并集与交集
Python 提供了丰富的集合运算方法,用于处理元素间的逻辑关系。
ss = {1, 2, 3, 9}
# 差集:在 s 中但不在 ss 中的元素
minus = s.difference(ss)
print(minus)
# 并集:两个集合的所有元素合并
union = s.union(ss)
print(union)
# 交集:两个集合共有的元素
intersection = s.intersection(ss)
print(intersection)
总结
列表适用于需要保持顺序且允许重复的场景,而集合则适用于去重和快速查找。正确区分 append 与 extend,以及理解集合引用的内存机制,能有效避免常见的编程错误。
以上就是基于Python的列表list和集合set操作的详细内容,更多关于Python数据结构资料的关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













