1.定义:在python中,字典是一系列键—值对,用{}表示。每个键都与一个值相关联,可以使用键来访问与之相关联的值,可将任何python对象用作字典中的值。键和值之间用冒号分开,键值对之间用逗号分开。字典可以存储众多对象的同一种信息,也可以用来存储一个对象的多种信息
2.添加键值对:依次指定字典名, 用{}括起来的键和相关的值。
修改字典的值:依次指定字典名,用{}括起来的键以及与改键相关联的新值。
删除键值对:可以使用del语句将相应的键-值对彻底删除。
>>> favorite_languages = { ... 'jack': 'c', ... 'tom': 'java', ... 'mike': 'go', ... 'zhanyie': 'python' ... } >>> print(favorite_languages['zhanyie']) python >>> favorite_languages['jack'] = 'python' >>> del favorite_languages['mike'] >>> print(favorite_languages) {'jack': 'python', 'tom': 'java', 'zhanyie': 'python'} >>>
3.遍历字典
a.遍历字典中所有的键值对 for key, value in dic_1.items() 声明两个变量key, value 用于存储键值对中的键和值
b.遍历字典中的所有键,使用方法.keys(), for key in dic_1.keys(): 遍历字典时,会默认遍历所有的值,因此可以将上述的代码替换为for key in dic_1:
获取字典的元素时,获取顺序时不可预测的,可以在for循环中使用函数sorted()来获得按特定顺序排列的键列表的副本。for key in sorted(dic_1.keys())
c.遍历字典中的所有值,可以使用方法.values(),返回一个不包含任何键的值列表 for value in dic_1.values()
剔除字典中的重复值,可以使用函数set() for value in set(dic_1.values())
# 练习 列出每个人喜欢的语言,算出一共有多少种语言 favorite_languages = {'tom': 'C', 'jack': 'python', 'jay': 'java', 'tony': 'java', 'grace': 'go', 'hank': 'php', } languages = [] for name, language in favorite_languages.items(): print(name + '最喜欢的语言是' + language) for language in set(favorite_languages.values()): if language not in languages: languages.append(language) print('共有' + str(len(languages)) + '种语言')
4嵌套
列表中嵌套字典 字典中嵌套列表(一个键对应多个值) 字典中嵌套字典(层层包含)
# 练习,每座城市的信息 cities = {'shanxi': {'country': 'China', 'population': '3million', 'fact': '爱吃醋'}, 'newyork': {'country': 'America', 'population': '15million', 'fact': '没去过'}, 'tokyo': {'country': 'Japan', 'population': '10million', 'fact': '首都'}} for city_name, city_infor in cities.items(): country = city_infor['country'] population = city_infor['population'] fact = city_infor['fact'] print('城市名称:' + city_name, '%s 城市' % country, '人口是 %s' % population, '事实:' + fact)