首页 > 技术文章 > 【Python】字典~深入篇

OliverQin 2017-11-04 23:46 原文

字典的定义

字典是一系列键值对,字典用放在{}一系列键值对表示

info = {'first_name':'YueShang','last_name':'QIN','age':'25','city':'KunMing'}

字典增、删、改、查

增加新元素

指定字典名,用方括号括起来的键和相关的值

info['sex']='Man'

修改元素

指定字典名,用方括号括起来的键以及该键相关联的新值

info['sex']='Woman'

查询

指定字典名和放在括号中的键

print(info['sex'])

在实际使用过程中,可能一个字典包含成千上万的键值对,那么需要使用遍历才能完全访问键值

遍历所有的键值对items()

for key,value in info.items():
    print("\nkey:" + key)
    print("\nvalue:" + value)

遍历所有键

for key in info.keys():
    print(key)

遍历所有值

for value in info.values():
    print(value)

注意:在遍历的时候,如果需要对遍历的键进行排序,那么使用sorted()即可。值也一样

set()方法的使用:set()方法可以对元素去重复

set()案例

letter = {'1':'A','2':'B','3':'C','4':'A'}
for i in set(letter.values()):
    print(i)

打印结果为:C A B

删除

使用del语句删除相应的键值对即可

del info['sex']

删除的键值对永远消失了

嵌套

有时候,需要将一系列字典存储在列表中,或将列表存储在字典中,这称为嵌套。

在列表中存储字典

现在有三个国家的运动员,用一个列表来存储各个国家运动员的信息

America_Player = {'name':'Tom','age':24}
China_Player = {'name':'zhangsan','age':27}
Japan_Player = {'name':'Jinshang','age':25}

players = [America_Player,China_Player,Japan_Player]

for palyer in players:
    print(palyer)

在字典中嵌套列表

现在有2个人,分别有自己喜欢的水果列表,我们需要把这些信息全部存储起来,那么使用字典,其中元素为列表即可。

favorite_fruits = {
    'zhangsan':['apple','pear'],
    'lisi':['orange','apple']
}
for name,fruits in favorite_fruits.items():
    print("\n"+name.title()+"'s favorite fruits are:")
    for fruit in fruits:
        print("\n"+fruit.title())

在字典中嵌套字典

以下是2个网站,分别对应不同的用户名,把字典存储到字典中即可满足这个需求

users = {
    'website1':{
        'name':'zhangsan',
        'password':'123'
    },
    'website2': {
        'name': 'lisi',
        'password': '456'
    }
}

for Website,LoginInfo in users.items():
    print("\nWebsite:"+Website)
    print("\tUsername:"+LoginInfo['name'])
    print("\tPassword:" + LoginInfo['password'])

推荐阅读