【python 字典(dict)和集合(set)】创建、访问、基本操作及各自的特点】

Python 中的字典(dict)和集合(set)都是内置的数据结构,它们各自有不同的用途和特点。以下是它们的创建、访问和基本操作,以及它们之间的区别和特点。

字典(Dict)

创建:

# 创建一个空字典
my_dict = {}

# 创建一个包含键值对的字典
my_dict = {'name': 'Alice', 'age': 25}

访问:

# 访问字典中的值
name = my_dict['name']  # 访问键为'name'的值

# 使用get方法访问,如果键不存在则返回None或指定的默认值
age = my_dict.get('age', 0)  # 如果'age'键不存在,则返回0

基本操作:

# 添加键值对
my_dict['gender'] = 'Female'

# 删除键值对
del my_dict['age']

# 修改键值对
my_dict['name'] = 'Bob'

# 遍历字典
for key, value in my_dict.items():
    print(key, value)

# 检查键是否存在
if 'name' in my_dict:
    print("Key 'name' exists.")

集合(Set)

创建:

# 创建一个空集合
my_set = set()

# 创建一个包含元素的集合
my_set = {1, 2, 3, 4}

访问:
集合是无序的,不提供索引访问,但可以检查元素是否存在。

# 检查元素是否存在
if 3 in my_set:
    print("3 is in the set")

基本操作:

# 添加元素
my_set.add(5)

# 删除元素
my_set.discard(2)  # 移除元素,如果元素不存在不会报错
my_set.remove(4)   # 移除元素,如果元素不存在会报错

# 清空集合
my_set.clear()

# 遍历集合
for element in my_set:
    print(element)

# 集合运算
union_set = my_set.union({6, 7})  # 并集
intersection_set = my_set.intersection({1, 2, 3, 8})  # 交集
difference_set = my_set.difference({1, 2})  # 差集
symmetric_difference_set = my_set.symmetric_difference({1, 9})  # 对称差集

区别和特点

字典(Dict)特点:

  • 存储键值对。
  • 键必须是唯一的,值可以重复。
  • 键可以是任何不可变类型,如字符串、数字或元组。
  • 通过键来访问值。
  • 可变类型,可以添加、删除和修改键值对。
  • 用花括号 {} 表示。

集合(Set)特点:

  • 存储无序的唯一元素。
  • 元素必须是可哈希的,不能有可变类型,如列表。
  • 不能通过索引访问元素,但可以快速检查元素是否存在。
  • 可变类型,可以添加和删除元素。
  • 支持数学上的集合运算,如并集、交集、差集等。
  • 用花括号 {} 表示,但如果集合中的元素是可迭代的,需要在元素前后加上圆括号,例如 {(1, 2)}

总的来说,字典适合存储和操作键值对数据,而集合适合进行元素的唯一性和集合运算。字典提供了通过键快速访问值的能力,而集合则提供了快速的成员检查和集合运算功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flos chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值