Python笔记6 字典

简介: 本文是作者的Python复习笔记第六篇,专注于Python中的字典(dictionary)数据结构。文中详细解释了字典的创建和基本操作,包括访问、修改、添加和删除键值对的方法。此外,还介绍了如何遍历字典的键值对、键或值,并探讨了字典的高级用法,如字典列表、在字典中存储列表以及字典的嵌套使用。文中通过示例代码演示了字典在实际编程中的应用,帮助读者更好地理解和掌握字典这一重要的数据结构。

一、字典

使用字典可以更方便地对各类真实的事物进行建模,描述他们
在Python中,字典是键-值对,可以通过键访问对应的值,值可以是任意类型的Python对象(字典 、列表、字符串等)
以下为字典的模板,最后一行键-值对也可以加,方便随时加新的键-值对

favorite_language= {
   
    'Alice': 'Python',
    'Herman': 'C++',
    'Edward': 'Java',
    }
print("Herman's favrorite language is " +
    favorite_language['Herman'] +
    ".")

① 对字典进行操作

1. 访问字典中的值

human_0 = {
   'name': 'Alice', 'age':16}
print(human_0)
print(human_0['name'])
{
   'name': 'Alice', 'age': 16}
Alice

2. 修改字典中的值

human_0 = {
   'name': 'Alice', 'age':16}
print(human_0['age'])
human_0['age'] = 21
print(human_0['age'])
16
21

3. 创建空字典

human_0 = {
   }

4. 添加键-值对

键值对之间的排序关系与添加顺序不同,也无关紧要,因为字典只关心键和值之间的关系

human_0 = {
   }
human_0['name'] = 'Alice'
human_0['age'] = 16
print(human_0)

5. 删除键-值对

del dictionary_name[key_name]
human_0 = {
   'name': 'Alice', 'age':16}
print(human_0)
del human_0['age']
print(human_0)
{
   'age': 16, 'name': 'Alice'}
{
   'name': 'Alice'}

② 遍历字典

1. 遍历所有的键-值对

item()是字典的使用方法,它返回键-值对列表

dictionary_name.items()

key,value为自命名的变量

user_0 = {
   
    'user_nickname': 'HADER',
    'user_id':21356,
    'user_first_name':'Hank',
    'user_last_name':'Anderson',
    }
for key,value in user_0.items():
    print("\nKey: " + str(key))
    print("Value: " + str(value))

2. 遍历所有的键

keys()是字典的使用方法,它返回所有的键,它是一个列表,因此可以使用sorted(list_name)对其排序
使之能按顺序遍历字典中的键
当不添加.keys()时遍历字典,返回的结果也是keys,为避免混淆,当需要返回所有键时,使用keys()

dictionary_name.keys()

key为自命名的变量

user_0 = {
   
    'user_nickname': 'HADER',
    'user_id':21356,
    'user_first_name':'Hank',
    'user_last_name':'Anderson',
    }
for key in user_0.keys():
    print("\nKey: " + str(key))

#for key in sorted(user_0.keys()):
    #print("\nKey: " + str(key))

3. 遍历所有的值

values()是字典的使用方法,它返回所有的值,它是一个列表,因此可以使用sorted(list_name)对其排序
使之能按顺序遍历字典中的值

dictionary_name.values()

value为自命名的变量

user_0 = {
   
    'user_nickname': 'HADER',
    'user_id':21356,
    'user_first_name':'Hank',
    'user_last_name':'Anderson',
    }
for value in user_0.values():
    print("\nValue: " + str(value))

剔除Values中的重复值:
当需要清洗许多值中重复的值时,可以使用set(),set名为集合,集合中的所有元素是独一无二的。

set(list_name)
favorite_languages= {
   
    'Alice': 'Python',
    'Herman': 'C++',
    'Edward': 'Java',
    'Bob': 'C++',
    }
for language in set(favorite_languages.values()):
    print(language)

③ 字典的嵌套使用

1. 字典列表:在列表中存储字典

在列表中存储多名用户的信息,并为每个用户创建字典,这样就可以通过遍历列表,用相同的办法管理用户。
human_0 = {‘name’: ‘Alice’, ‘age’: 16}
human_1 = {‘name’: ‘Bob’, ‘age’: 21}
human_2 = {‘name’: ‘Tom’, ‘age’: 66}
human = [human_0, human_1, human_2]
for person in human:
print(person)

2.在字典中存储列表

有时需要在字典中为某些键-值对,添加列表形式的值,比如一个人可能同时喜欢多种语言,这个键-值对的值就是一个列表

favorite_languages= {
   
    'Alice': 'Python',
    'Herman': ['C++', 'Python', 'Java'],
    'Edward': ['Java', 'C++'],
    'Bob': 'C++',
    }
for language in favorite_languages.items():
    print(language)

3.在字典中存储字典

不作讨论,自行了解

目录
相关文章
|
9天前
|
搜索推荐 Python
Leecode 101刷题笔记之第五章:和你一起你轻松刷题(Python)
这篇文章是关于LeetCode第101章的刷题笔记,涵盖了多种排序算法的Python实现和两个中等难度的编程练习题的解法。
15 3
|
15天前
|
存储 开发工具 Python
【Python项目】外星人入侵项目笔记
【Python项目】外星人入侵项目笔记
31 3
|
15天前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
37 0
【免费分享编程笔记】Python学习笔记(二)
|
9天前
|
算法 C++ Python
Leecode 101刷题笔记之第四章:和你一起你轻松刷题(Python)
这篇博客是关于LeetCode上使用Python语言解决二分查找问题的刷题笔记,涵盖了从基础到进阶难度的多个题目及其解法。
12 0
|
9天前
|
算法 C++ Python
Leecode 101刷题笔记之第三章:和你一起你轻松刷题(Python)
本文是关于LeetCode算法题的刷题笔记,主要介绍了使用双指针技术解决的一系列算法问题,包括Two Sum II、Merge Sorted Array、Linked List Cycle II等,并提供了详细的题解和Python代码实现。
11 0
|
9天前
|
算法 C++ 索引
Leecode 101刷题笔记之第二章:和你一起你轻松刷题(Python)
本文是关于LeetCode 101刷题笔记的第二章,主要介绍了使用Python解决贪心算法题目的方法和实例。
7 0
|
9天前
|
并行计算 Python
Python错误笔记(一):CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up env
这篇文章讨论了CUDA初始化时出现的未知错误及其解决方案,包括重启系统和安装nvidia-modprobe。
45 0
|
11天前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
24 0
|
14天前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
11 0
|
14天前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
18 0