python字典用法

1. Python字典简介

Python中的字典(Dictionary)是一种无序的、可变的、按照键(Key)访问的数据结构,它由键值对(Key-Value Pair)构成。Python字典的特点:

字典中的Key是唯一的,不能重复。

Key必须是不可变的对象,比如字符串、数字或元组等。

字典中的Value可以是任意类型的对象,包括列表、字典等。

Python字典可以用大括号{}或者dict()函数来创建。

1.1 使用大括号创建字典

可以使用大括号来创建一个空的字典,也可以在大括号中添加键值对来创建一个非空的字典。

# 创建空字典

dict1 = {}

# 创建非空字典

dict2 = {'name': 'Tom', 'age': 18}

创建空字典时,可以使用dict()构造函数来创建。例如:

dict3 = dict()

1.2 访问字典中的值

Python字典中的数据是以键值对的形式存在的,可以通过键来访问字典中的值。

# 访问字典中的值

print(dict2['name']) # 输出 Tom

# 使用get()方法访问字典中的值

print(dict2.get('age')) # 输出 18

如果访问字典中不存在的Key,程序会报KeyError错误。使用get()方法时,如果访问字典中不存在的Key,程序不会报错,而是返回None或者指定的默认值。

1.3 更新字典

可以通过赋值语句来更新字典中的键值对,也可以使用update()方法将一个字典中的键值对更新到另一个字典中。

# 更新字典中的键值对

dict2['name'] = 'John'

print(dict2) # 输出 {'name': 'John', 'age': 18}

# 使用update()方法更新字典中的键值对

dict2.update({'name': 'Lily', 'gender': 'female'})

print(dict2) # 输出 {'name': 'Lily', 'age': 18, 'gender': 'female'}

如果更新时添加了一个不存在的键值对,字典中会自动添加该键值对。如果更新时修改了一个已存在的键值对,字典中的原键值对将被替换为新键值对。

1.4 字典的遍历

可以使用for循环来遍历字典中的键值对,也可以分别遍历字典中的键和值。

# 遍历字典中的键值对

for key, value in dict2.items():

print(key, value)

# 遍历字典中的键

for key in dict2.keys():

print(key)

# 遍历字典中的值

for value in dict2.values():

print(value)

2. Python字典实例

2.1 统计字符串中每个字符出现的次数

下面是一个例子,统计字符串中每个字符出现的次数。

str1 = 'hello, world!'

count = {}

for char in str1:

if char in count:

count[char] += 1

else:

count[char] = 1

print(count)

运行结果如下:

{'h': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1, '!': 1}

2.2 将两个列表转换成一个字典

下面是一个例子,将两个列表中的元素一一对应,转换成一个字典。

keys = ['name', 'age', 'gender']

values = ['Tom', '18', 'male']

dict4 = dict(zip(keys, values))

print(dict4)

运行结果如下:

{'name': 'Tom', 'age': '18', 'gender': 'male'}

2.3 判断字符串中的字符是否唯一

下面是一个例子,判断字符串中的字符是否唯一。

def is_unique(s):

count = {}

for char in s:

if char in count:

return False

else:

count[char] = 1

return True

str2 = 'abcdefg'

str3 = 'hello'

print(is_unique(str2)) # 输出 True

print(is_unique(str3)) # 输出 False

运行结果如下:

True

False

2.4 集合求交、并、差

可以使用Python字典来实现集合求交、并、差等操作。

set1 = {1, 2, 3, 4, 5}

set2 = {3, 4, 5, 6, 7}

# 求交集

intersection = {}

for element in set1:

if element in set2:

intersection[element] = True

print(intersection.keys())

# 求并集

union = {}

for element in set1:

union[element] = True

for element in set2:

union[element] = True

print(union.keys())

# 求差集

diff1 = {}

for element in set1:

if element not in set2:

diff1[element] = True

print(diff1.keys())

diff2 = {}

for element in set2:

if element not in set1:

diff2[element] = True

print(diff2.keys())

运行结果如下:

dict_keys([3, 4, 5])

dict_keys([1, 2, 3, 4, 5, 6, 7])

dict_keys([1, 2])

dict_keys([6, 7])

3. 小结

Python字典是一种非常有用的数据结构,它可以用于统计、映射、索引等操作。Python字典的特点是无序、可变,能够快速地根据键(Key)查找对应的值(Value)。在使用Python字典时,需要注意字典中的Key必须是不可变的对象。

后端开发标签