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)

 

posted on 2019-03-31 18:34  zhanyie  阅读(177)  评论(0编辑  收藏  举报