简介
在Python中,字典是一系列键-值对,每个键都与一个值相关联。可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表甚至是字典
#形如
person = {'name': 'Mark', 'age':22}
print(person['name'])
print(person['age'])
1 字典的使用
1.1 访问字典中的值
要获取与键相关联的值,可依次指定字典名和放在方括号内的键。
person = {'name': 'Bill'}
print(person['name']) #输出Bill
1.2 添加键-值对
person = {'name': 'Mars'}
person['age'] = 25
person['city'] = 'suzhou'
print(person)
1.3 创建空字典
person = {}
person['name'] = 'Mars'
print(person)
1.4 修改字典中的值
person = {'name': 'Mark'} #初始化字典
print("The frist name is " + person['name'] + '.')
person = {'name': 'Mars'} #修改字典中的值
print("The second name is " + person['name'] + '.')
1.5 删除键-值对
person = {'name ': 'Mars', 'age': 22, 'city': 'suzhou'}
print(person)
del person['city'] #删除city键-值对
print(person)
1.6 由类似对象组成的字典
favorite_languages ={
'Mark': 'Python',
'Mars': 'C/C++',
'Bill': 'Java',
'Bob': 'Php',
'John': 'C#'
}
print("Mars's favorite language is " + favorite_languages['Mars'].title() + '.')
2 遍历字典
2.1 遍历所有的键-值对
favorite_languages ={
'Mark': 'Python',
'Mars': 'C/C++',
'Bill': 'Java',
'Bob': 'Php',
'John': 'C#'
}
for name, language in favorite_languages.items():
print("\nname: " + name)
print("favorite laguage: " + language)
2.2 遍历字典中的所有键
favorite_languages ={
'Mark': 'Python',
'Mars': 'C/C++',
'Bill': 'Java',
'Bob': 'Php',
'John': 'C#'
}
for name in favorite_languages.keys():
print(name.lower())
2.3 按顺序遍历字典中的所有键
favorite_languages ={
'Mark': 'Python',
'Mars': 'C/C++',
'Bill': 'Java',
'Bob': 'Php',
'John': 'C#'
}
for name in sorted(favorite_languages.keys()): #根据首字母排序
print(name.lower())
2.4 遍历字典中的所有值
favorite_languages ={
'Mark': 'Python',
'Mars': 'C/C++',
'Bill': 'Java',
'Bob': 'Php',
'John': 'C#'
}
for language in favorite_languages.values():
print(language.lower())
3 嵌套
3.1 字典与列表嵌套
person_1 = {'name': 'Mark', 'age': 22, 'city': 'suzhou'}
person_2 = {'name': 'Mars', 'age': 25, 'city': 'wuxi'}
person_3 = {'name': 'Bill', 'age': 18, 'city': 'shanghai'}
persons = [person_1, person_2, person_3]
for person in persons:
print(person)
persons = [] #定义一个空列表
#创建50个人物信息
for num in range(50):
new_person = {'age': 20, 'city': "suzhou", 'country': 'china'}
persons.append(new_person)
#显示前10个人物信息
for person in persons[:10]:
print(person)
#显示创建了多少个人物信息
print("\nTotal number of persons: ", str(len(persons)))
3.2 在字典中存储列表
Info = {'name': 'Mark', 'course': ['Math', 'Chinese', 'English'], 'age': 10}
print(Info['name'])
for course in Info['course']:
print(course)
3.3 在字典中存储字典
groups = {'person_1': {'name': 'Mark', 'city': 'wuxi', 'age': 20}, 'person_2': {'name': 'Mars', 'city': 'suzhou', 'age': 25}, 'person_3': {'name': 'Bill', 'city': 'shanghai', 'age': 28}}
for group, person in groups.items():
print("\ngroup: " + group + '')
print("\tname: " + person['name'] + '\tcity: ' + person['city'] + '\tage: ' + str(person['age']))