跟老齐学Python之字典,你还记得吗?

  • Post category:Python

当你想要通过Python高效地存储和检索数据时,字典(Dictionary)就成为了不可或缺的概念。在这里,我们将分享一下如何与老齐一起学习Python字典。

为什么要学习Python字典?

Python的字典是一种优秀的数据结构,它可以在O(1)的时间复杂度内完成增加、删除、修改和查找操作。并且在很多场景下,字典都比列表、元组、集合等其他数据结构更加高效。字典主要由键值对(key-value pairs)组成,在字典中,键是唯一的,而值则可以重复。

如何创建一个Python字典?

要创建一个Python字典,你可以使用花括号({})来进行初始化。比如:

my_dict = {}

你也可以使用键值对列表进行字典的初始化。每个键值对之间使用逗号进行分隔。比如:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

如何向字典中添加键值对?

添加键值对非常简单,你只需要使用key作为索引,然后为这个key设置一个value即可。比如:

my_dict['name'] = 'Mary'

这将把键为”name”的值从”Tom”改为”Mary”。

如何从字典中删除键值对?

删除字典中的键值对同样也非常简单,你只需要使用”del”关键字并指定你要删除的key即可。比如:

del my_dict['age']

这将从字典中删除键为”age”的键值对。

如何修改字典中的键值对?

修改字典中某个特定key对应的value也非常简单,你只需要使用key作为索引,然后为这个key设置一个新的value即可。比如:

my_dict['age'] = 21

这将把键为”age”的值从原来的20修改为21。

如何访问字典中的值?

访问字典中的value是很常见的操作,你只需要使用key作为索引即可。比如:

print(my_dict['name'])

这将打印出”name”这个键对应的值。

如何遍历字典中的键值对?

有时候你需要遍历整个字典并对其中的每一个键值对进行操作。为此你可以使用for循环,并使用.items()方法来遍历字典中的所有键值对。比如:

for key, value in my_dict.items():
    print(key, value)

这将会逐行打印出所有的键值对。

示例1:用字典存储学生信息

下面的代码是一个示例,它演示了如何用字典来存储学生的信息,并对这些信息进行操作:

students = {
    'Tom': {'age': 20, 'gender': 'male'},
    'Mary': {'age': 19, 'gender': 'female'},
    'John': {'age': 22, 'gender': 'male'}
}

# 输出所有学生的姓名、年龄和性别
for name, info in students.items():
    age = info['age']
    gender = info['gender']
    print(f"{name}: {age}, {gender}")

# 修改Tom的年龄为21岁
students['Tom']['age'] = 21

# 删除John的信息
del students['John']

示例2:用字典存储学生成绩

下面的代码是另一个示例,它演示了如何用字典来存储学生成绩,并对这些成绩进行操作:

scores = {
    'Tom': {'math': 80, 'English': 90},
    'Mary': {'math': 75, 'English': 85},
    'John': {'math': 90, 'English': 80}
}

# 计算Tom的总成绩
tom_scores = scores['Tom']
total_score = sum(tom_scores.values())

print(f"Tom's total score is {total_score}")

# 计算每个学生的平均分数
for name, subject_scores in scores.items():
    avg_score = sum(subject_scores.values()) / len(subject_scores)
    print(f"{name}'s average score is {avg_score}")

这个示例演示了如何使用嵌套字典来存储复杂的数据,并对这些数据进行加工和计算。

希望这份攻略可以帮助你更好地掌握Python字典的使用方法。