Python 十个字典用法使用技巧归纳

yizhihongxing

Python十个字典用法使用技巧归纳

1. 字典的创建和赋值

创建相对容易,可以通过{}dict()实现。用=赋值,或用update()进行多个键值对的赋值。

示例:

# 用花括号创建字典
dict1 = {'name': 'Lucy', 'age': 18}

# 用dict()创建字典
dict2 = dict([(1, 'one'), (2, 'two'), (3, 'three')])

# 用赋值符号添加键值对
dict1['city'] = 'Beijing'

# 用update()方法添加多个键值对
dict2.update({4: 'four', 5: 'five'})

print(dict1)    # {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}
print(dict2)    # {1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five'}

2. 字典的删除操作

删除字典中的键值对,可以使用del语句,也可以使用pop()popitem()方法删除。

示例:

dict1 = {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}

del dict1['age']  # 删除键为'age'的键值对

dict1.pop('city')  # 删除键为'city'的键值对

dict1.popitem()  # 随机删除一个键值对

print(dict1)    # {'name': 'Lucy'}

3. 字典的访问和修改操作

访问键值对可以用方括号加键值的方式,也可以用get()方法,修改则直接赋值即可。

示例:

dict1 = {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}

name = dict1['name']  # 访问'name'的值

age = dict1.get('age')  # 使用get()方法访问'age'的值

dict1['city'] = 'Shanghai'  # 直接修改键为'city'的值

print(name)    # Lucy
print(age)    # 18
print(dict1)    # {'name': 'Lucy', 'age': 18, 'city': 'Shanghai'}

4. 字典的遍历操作

使用for循环或items()方法遍历字典。

示例:

dict1 = {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}

# 1. 遍历键
for key in dict1:
    print(key)

# 2. 遍历值
for value in dict1.values():
    print(value)

# 3. 遍历键值对
for key, value in dict1.items():
    print(key, value)

5. 字典的复制操作

复制字典有两种方法:使用copy()方法或使用dict()构造函数。

示例:

dict1 = {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}

dict2 = dict1.copy()  # 使用copy()方法进行复制

dict3 = dict(dict1)  # 使用dict()构造函数复制

print(dict2)    # {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}
print(dict3)    # {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}

6. 字典的长度

使用len()函数求字典的长度。

示例:

dict1 = {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}

length = len(dict1)

print(length)    # 3

7. 字典的比较操作

比较字典时,只比较键值对的数量和值是否相等。

示例:

dict1 = {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}
dict2 = {'name': 'Lucy', 'age': 18, 'city': 'Shanghai'}
dict3 = {'name': 'Lucy', 'birthday': '1998-01-01', 'city': 'Beijing'}

print(dict1 == dict2)    # False
print(dict1 == dict3)    # False

8. 字典的排序操作

字典是无序的,但可以通过sorted()方法对键或值进行排序。

示例:

dict1 = {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}

# 1. 按键排序
sorted_dict1 = {key: dict1[key] for key in sorted(dict1.keys())}

# 2. 按值排序
sorted_dict2 = {key: value for key, value in sorted(dict1.items(), key=lambda item: item[1])}

print(sorted_dict1)    # {'age': 18, 'city': 'Beijing', 'name': 'Lucy'}
print(sorted_dict2)    # {'age': 18, 'name': 'Lucy', 'city': 'Beijing'}

9. 字典的合并操作

字典合并有两种方法:使用update()方法或使用{**dict1, **dict2}进行合并。

示例:

dict1 = {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}
dict2 = {'height': 160, 'weight': 50}

dict1.update(dict2)  # 使用update()方法进行合并

dict3 = {**dict1, **dict2}  # 使用{**dict1, **dict2}进行合并

print(dict1)    # {'name': 'Lucy', 'age': 18, 'city': 'Beijing', 'height': 160, 'weight': 50}
print(dict3)    # {'name': 'Lucy', 'age': 18, 'city': 'Beijing', 'height': 160, 'weight': 50}

10. 字典的转换操作

将字典转换为列表或元组,使用list()tuple()方法。

示例:

dict1 = {'name': 'Lucy', 'age': 18, 'city': 'Beijing'}

list1 = list(dict1.items())    # 将字典转换为列表

tuple1 = tuple(dict1.keys())    # 将字典的键转换为元组

print(list1)    # [('name', 'Lucy'), ('age', 18), ('city', 'Beijing')]
print(tuple1)    # ('name', 'age', 'city')

以上就是Python中字典的十个常用操作技巧,可以用于实际开发中,提高编程效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 十个字典用法使用技巧归纳 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • Python 数据类型中的字符串和数字

    Python 数据类型中的字符串和数字 在Python中,字符串和数字是两种非常常见的数据类型。学习掌握这两种数据类型,对于Python编程入门非常重要。接下来,我们将详细讲解Python数据类型中的字符串和数字。 字符串 字符串是一种表示文本数据的数据类型,可以使用单引号或双引号表示,例如: str1 = ‘Hello, world!’ str2 = &q…

    python 2023年5月14日
    00
  • python中把嵌套的列表合并成一个列表方法总结

    以下是“Python中把嵌套的列表合并成一个列表方法总结”的完整攻略。 1. 方法总结 在Python中,可以使用以下三种方法将嵌套的列表合并成一个列表。 1.1 使用推导式 使用列表推导式可以将嵌套的列表合并成一个列表。示例如: nested_list = [[1, 2], [3, 4], [5, 6]] flat_list = [item for sub…

    python 2023年5月13日
    00
  • 使用python验证代理ip是否可用的实现方法

    使用Python验证代理IP是否可用的实现方法可以通过发送请求测试代理服务器是否正常工作,以下是一些攻略步骤: Step 1: 了解代理IP的概念和作用 代理服务器作为用户和互联网上的服务器之间的中间层,用于在用户和真正的服务器之间进行转发和过滤,从而实现隐藏用户真正IP地址的效果。因此,代理IP在网络爬虫以及其他类似应用的开发中,可以用于隐藏用户的真实身份…

    python 2023年6月6日
    00
  • Python爬虫之必备chardet库

    Python爬虫之必备chardet库 在Python爬虫的过程中,我们经常需要对获取的网页进行解析处理。但是,不同的网页可能使用不同的编码方式,如果我们不能正确地识别网页的编码方式,就会在解析网页时出现乱码等问题。为了解决这个问题,我们可以使用chardet库。 chardet库简介 chardet库是一个Python开源库,可以自动识别文本编码的类型。它…

    python 2023年5月14日
    00
  • Python内置数据类型详解

    下面是详细的Python内置数据类型攻略: Python内置数据类型详解 Python是一种动态的、面向对象的高级编程语言,具有简洁、易读性强等特点。在Python中,内置了许多数据类型,包括数字类型、字符串类型、列表类型、元组类型、集合类型、字典类型等。在这里,我们将对这些数据类型进行详细的讲解。 数字类型 Python中的数字类型包括整数类型和浮点数类型…

    python 2023年6月5日
    00
  • python最小生成树kruskal与prim算法详解

    Python最小生成树Kruskal与Prim算法详解 最小生成树是一种常用的图论问题,用于在一个加权无向图中找到一棵生成树,使得树上所有边的权值之和最小。本文将详细讲解Python实现最小生成树Kruskal与Prim算法的整个攻略,包括算法原理、实现过程和示例。 算法原理 Kruskal算法 Kruskal算法是一种基于贪心策略的最小生成树算法,其基本思…

    python 2023年5月14日
    00
  • 详解Python bind()函数和>>运算符

    Python中的bind()函数和>>运算符都与函数式编程密切相关,它们可以让我们更高效、简洁的处理迭代器和函数链式调用。下面分别进行详细讲解。 bind()函数 bind()函数是Python中的一个常用高阶函数,也叫做flatMap()函数,常见于函数式编程中。 它的作用是将定义在一个迭代器上的一系列操作转化为单一的可迭代序列,能够大大减少代…

    python-answer 2023年3月25日
    00
  • 使用 python 检索 MusicBrainz 指纹

    【问题标题】:Retrieving MusicBrainz fingerprint with python使用 python 检索 MusicBrainz 指纹 【发布时间】:2023-04-05 02:32:01 【问题描述】: 我很难找到从给定歌曲中检索音频指纹数据的方法。我之前用 MusicBrainz 标记了这些歌曲,现在我想直接从音频文件中读取它。…

    Python开发 2023年4月6日
    00
合作推广
合作推广
分享本页
返回顶部