Python基础之dict和set的使用详解
简介
在Python中,字典和集合是非常常用的数据结构,它们提供了快速的数据访问和查找。本文将详细讲解字典和集合的基本用法以及常用操作。
字典(dict)的使用
字典是一种无序可变的序列,使用键值对存储数据。在Python中,字典使用花括号{}表示,例如:
d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
基本操作
- 获取字典的长度
使用len()
函数可以获取字典中键值对的数量,例如:
d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
print(len(d)) # 输出:3
- 获取字典中的值
使用d[key]
可以获取字典中指定键对应的值,例如:
d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
print(d['name']) # 输出:Tom
- 修改字典中的值
使用d[key] = value
可以修改字典中指定键对应的值,例如:
d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
d['age'] = 20
print(d) # 输出:{ 'name': 'Tom', 'age': 20, 'gender': 'male' }
- 添加键值对
使用d[key] = value
可以添加新的键值对,例如:
d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
d['height'] = 170
print(d) # 输出:{ 'name': 'Tom', 'age': 18, 'gender': 'male', 'height': 170 }
- 删除键值对
使用del d[key]
可以删除指定的键值对,例如:
d = { 'name': 'Tom', 'age': 18, 'gender': 'male' }
del d['gender']
print(d) # 输出:{ 'name': 'Tom', 'age': 18 }
示例说明
示例1:统计字符串中每个字符出现的次数
s = 'hello, world'
d = {}
for c in s:
if c not in d:
d[c] = 1
else:
d[c] += 1
print(d)
输出结果为:
{'h': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
示例2:计算列表中每个元素出现的次数
lst = [1, 2, 3, 4, 1, 2, 3, 1, 2, 1]
d = {}
for x in lst:
if x not in d:
d[x] = 1
else:
d[x] += 1
print(d)
输出结果为:
{1: 4, 2: 3, 3: 2, 4: 1}
集合(set)的使用
集合是一种无序不重复的序列,使用大括号{}表示。在Python中,集合除了提供常规的集合操作外,还支持数学中的集合运算。例如:
s1 = {1, 2, 3}
s2 = {2, 3, 4}
print(s1.union(s2)) # 输出:{1, 2, 3, 4}
基本操作
- 创建集合
可以通过构造函数set()
将一个序列转换为一个集合,例如:
s = set([1, 2, 3])
print(s) # 输出:{1, 2, 3}
- 添加元素
使用add(x)
可以向集合中添加一个元素x,例如:
s = set([1, 2, 3])
s.add(4)
print(s) # 输出:{1, 2, 3, 4}
- 删除元素
使用remove(x)
可以从集合中删除一个元素x,例如:
s = set([1, 2, 3])
s.remove(2)
print(s) # 输出:{1, 3}
示例说明
示例1:查找两个列表中的共同元素
lst1 = [1, 2, 3, 4, 5]
lst2 = [3, 4, 5, 6, 7]
s1 = set(lst1)
s2 = set(lst2)
print(s1.intersection(s2))
输出结果为:
{3, 4, 5}
示例2:去除列表中的重复元素
lst = [1, 2, 3, 1, 2, 3, 4, 5, 4, 5]
s = set(lst)
lst2 = list(s)
print(lst2)
输出结果为:
[1, 2, 3, 4, 5]
结论
在实际编程中,字典和集合是非常实用的数据结构。掌握了这些数据结构的基本用法,可以大大提升代码的简洁性和效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python基础之dict和set的使用详解 - Python技术站