欢迎访问宙启技术站
智能推送

如何用Python的字典函数来处理键值对?

发布时间:2023-06-08 02:40:20

Python中的字典(Dictionary)是一种无序的数据集合,在其中每一个元素由一个键值对(key-value pair)组成。字典对于处理键值对非常方便,因为它可以通过键(key)查找对应的值(value),而且可以根据需要随时添加、删除、修改键值对。Python提供了丰富的字典函数,让我们更方便地进行各种键值对的操作。

一、 创建字典

我们可以使用{}或dict()函数来创建一个空的字典,也可以在创建字典的时候添加键值对。下面是一些创建字典的例子:

# 创建空字典

d1 = {}

d2 = dict()

# 创建有初始值的字典

d3 = {'name':'Jack', 'age':25, 'gender':'male'}

d4 = dict(zip(['name', 'age', 'gender'], ['Jack', 25, 'male']))

# 添加键值对

d5 = {}

d5['name'] = 'Tom'

d5['age'] = 30

d5['gender'] = 'male'

# 使用fromkeys方法创建字典

d6 = {}.fromkeys(['name', 'age', 'gender'])

d7 = dict.fromkeys(['name', 'age', 'gender'], 'unknown')

二、 访问字典元素

字典的元素是通过键(key)来访问的,使用字典的get()方法可以更加安全地访问字典元素,因为get()方法在找不到对应键的时候不会抛出异常而是返回None或者给定的默认值。下面是一些访问字典元素的例子:

# 访问字典元素

d = {'name':'Jack', 'age':25, 'gender':'male'}

print(d['name'])

print(d.get('age'))

print(d.get('email')) # 没有email这个键,返回None

print(d.get('phone', '000-000-0000')) # 没有phone这个键,返回给定的默认值

# 打印字典所有元素

for k in d:

    print(k, '=', d[k])

# 使用items()方法遍历字典元素

for k, v in d.items():

    print(k, '=', v)

# 使用keys()方法遍历字典键

for k in d.keys():

    print(k)

# 使用values()方法遍历字典值

for v in d.values():

    print(v)

三、 修改和删除字典元素

我们可以直接给字典的某个键赋新的值从而修改字典元素。我们也可以使用pop()函数来删除字典元素,或者用del语句来删除整个字典。下面是一些修改和删除字典元素的例子:

# 修改字典元素

d = {'name':'Jack', 'age':25, 'gender':'male'}

d['age'] = 26

print(d)

# 删除字典元素

d.pop('age')

print(d)

# 删除整个字典

del d

四、 其他字典函数

Python提供了很多方便操作字典的函数,下面介绍一些常用的函数。

1. clear():删除字典中的所有元素。

2. copy():返回字典的一个副本。

3. fromkeys(seq[, v]):创建一个新字典,以seq中元素作为键,v作为值。

4. get(key, default=None):返回指定键的值。如果键不存在于字典中,返回default值。

5. items():以列表返回可遍历的(键, 值) 元组数组。

6. keys():以列表返回一个字典所有的键。

7. pop(key[, default]):删除字典给定键 key 所对应的值,并返回该值。如果字典中不存在该键,则返回 default 值。

8. popitem():随机返回并删除字典中的一对键和值(一般删除末尾对)。

9. setdefault(key[, default]):和get()方法类似, 如果键不存在于字典中,将会添加键并将值设为default。

10. update([other]):把字典other的键/值对更新到字典中,如果有相同的键,则会覆盖对应的值。

11. values():以列表返回字典中的所有值。

五、 总结

通过本文介绍的字典函数,我们可以更加方便地处理键值对数据。字典的包容性使它可以兼容多种数据类型作为键和值,使用字典的函数可以方便快捷地查询、更新、删除、添加键值对等操作。需要注意的是,在使用这些函数的时候应当考虑到字典的键值对顺序是无序的,需要开发者自己根据情况处理。