Python中的集合和字典都是内置数据结构,它们在处理大量数据时提供了高效而强大的工具和方法。
集合
集合(set)是一种可变无序容器,其中没有重复的元素。Python中的集合类似于数学中的集合,支持交集、并集、差集等运算。
创建集合
可以使用 {}
或 set()
来创建集合。注意,如果要创建空集合,必须使用 set()
,因为 {}
会创建空字典而不是集合。
# 使用 {} 创建集合
s1 = {'apple', 'banana', 'orange'}
print(s1) # 输出: {'orange', 'banana', 'apple'}
# 使用 set() 创建集合
s2 = set(['apple', 'pear', 'kiwi'])
print(s2) # 输出: {'kiwi', 'pear', 'apple'}
集合操作
与其他容器类似,集合也有诸如 len()
和 in
等基本操作。
s = {1, 2, 3, 4}
# 获取集合大小
print(len(s)) # 输出: 4
# 判断元素是否存在于集合中
print(2 in s) # 输出: True
# 判断元素是否不存在于集合中
print(5 not in s) # 输出: True
集合还支持交集、并集、差集等操作。
s1 = {1, 2, 3}
s2 = {2, 3, 4}
# 取两个集合的交集
print(s1 & s2) # 输出: {2, 3}
# 取两个集合的并集
print(s1 | s2) # 输出: {1, 2, 3, 4}
# 取两个集合的差集
print(s1 - s2) # 输出: {1}
示例
以下是一个使用集合求解两个字符串共同出现的字符的示例。
s1 = set('abacus')
s2 = set('bcdefg')
print(s1 & s2) # 输出: {'c', 'b'}
字典
字典(dictionary)是一种可变的无序容器,用于存储以键(key)- 值(value)对的形式存储数据。Python中的字典支持高效的查找,因为它内部使用哈希表存储数据。
创建字典
字典使用 {}
或 dict()
来创建。每个 key-value 对之间用冒号 :
分隔,多个 key-value 对之间用逗号 ,
分隔。
# 使用 {} 创建字典
d1 = {'apple': 3.5, 'banana': 2.5, 'orange': 4}
print(d1) # 输出: {'apple': 3.5, 'banana': 2.5, 'orange': 4}
# 使用 dict() 创建字典
d2 = dict([('apple', 3.5), ('pear', 3.2), ('kiwi', 2.8)])
print(d2) # 输出: {'apple': 3.5, 'pear': 3.2, 'kiwi': 2.8}
字典操作
与其他容器类似,字典也有诸如 len()
和 in
等基本操作。
d = {'apple': 3.5, 'banana': 2.5, 'orange': 4}
# 获取字典大小
print(len(d)) # 输出: 3
# 判断 key 是否存在于字典中
print('apple' in d) # 输出: True
# 判断 value 是否存在于字典中
print(2.5 in d.values()) # 输出: True
字典还支持获取、修改、删除 key-value 对的操作。
d = {'apple': 3.5, 'banana': 2.5, 'orange': 4}
# 获取指定 key 的 value
print(d['apple']) # 输出: 3.5
# 修改指定 key 的 value
d['apple'] = 4
print(d) # 输出: {'apple': 4, 'banana': 2.5, 'orange': 4}
# 删除指定 key-value 对
del d['orange']
print(d) # 输出: {'apple': 4, 'banana': 2.5}
示例
以下是一个使用字典实现计算单词出现频率的示例。
text = 'I have a dream that one day this nation will rise up and live out the true meaning of its creed'
words = text.split()
frequencies = {}
for word in words:
if word not in frequencies:
frequencies[word] = 1
else:
frequencies[word] += 1
print(frequencies)
# 输出: {'I': 1, 'have': 1, 'a': 1, 'dream': 1, 'that': 1, 'one': 1, 'day': 1, 'this': 1, 'nation': 1, 'will': 1, 'rise': 1, 'up': 1, 'and': 1, 'live': 1, 'out': 1, 'the': 1, 'true': 1, 'meaning': 1, 'of': 1, 'its': 1, 'creed': 1}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 中的集合和字典 - Python技术站