一、字典
使用字典可以更方便地对各类真实的事物进行建模,描述他们
在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.在字典中存储字典
不作讨论,自行了解