Python 学习笔记7 变量-字典

字典是python中一个十分重要的变量,他是一个可变的容器对象。通过一组key(键)和value(值)对组成一个元素。

组成形式为{'key':'value', 'key':'value'}。整个字典使用大括号{}, 括起来, key和value使用冒号:进行分隔。

 键的值可以是数字、字符串、列表甚至是字典。

ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'}
print(type(ralf))
#输出 : <class 'dict'>

 

通过键值来访问字典中的值:

ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'}
print(ralf['name'])
print(ralf['height'])

#输出 :Ralf
#输出 :188

 

添加键-值对:我们可以通过指定字典名,键和值来添加键值对。

ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'}
print(ralf)
ralf['hobby'] = 'knife'
print(ralf)
#输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'}
#输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188', 'hobby': 'knife'}

 

修改字典中的键值对:

ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'}
print(ralf)
ralf['height'] = '186'
print(ralf)
#输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'}
#输出 :{'name': 'Ralf', 'sex': 'male', 'height': '186'}

 

删除键值对,可以使用del 函数进行删除:

ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'}
print(ralf)
del ralf['height']
print(ralf)
#输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'}
#输出 :{'name': 'Ralf', 'sex': 'male'}

 使用For循环遍历所有键值对:

ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'}

for key, value in ralf.items():
    print(key + ":" + value)

#输出 :name:Ralf
#sex:male
#height:188

 

遍历字典中的所有键:

ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'}

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

#输出 :name
#sex
#height

 

遍历字典中的所有值:

ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'}

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

#输出 :Ralf
#male
#188

 

根据PEP8法则,我们在定义字典的时候通常使用以下格式:

ralf = {
    'name': 'Ralf', 
    'sex': 'male', 
    'height': '188'
    }

 

List和dict混合使用:

在list中包含字典: 

ralf = {
    'name': 'Ralf',
    'sex': 'male',
    }

clark = {
    'name': 'Clark',
    'sex': 'male',
}

leona = {
    'name': 'Leona',
    'sex': 'female',
}

team = [ralf, clark, leona]
print(type(team))
print(team)
#输出: <class 'list'>
#输出: [{'name': 'Ralf', 'sex': 'male'}, {'name': 'Clark', 'sex': 'male'}, {'name': 'Leona', 'sex': 'female'}]

for fighter in team:
    for key, value in fighter.items():
        print(key + ":" + value)

#输出:
#name:Ralf
#sex:male
#name:Clark
#sex:male
#name:Leona
#sex:female

 

在字典中存储列表:

team = {
    'ralf': ['male', 188],
    'clark': ['male', 187],
    'leona': ['female', 174]
    }
print(type(team))
print(team)
#输出: <class 'dict'>
#输出:{'ralf': ['male', 188], 'clark': ['male', 187], 'leona': ['female', 174]}

for key, value in team.items():
    print(key)
    for element in value:
        print(element)

#输出:ralf
#male
#188
#clark
#male
#187
#leona
#female
#174

 

字典中嵌套字典:

team = {
    'ralf': {'sex': 'male', 'height': '188'},
    'clark': {'sex': 'male', 'height': '187'},
    'leona': {'sex': 'female', 'height': '174'}
    }

for keys, values in team.items():
    print(keys)
    for key, value in values.items():
        print(key + ":" + value)

#输出:ralf
#sex:male
#height:188
#clark
#sex:male
#height:187
#leona
#sex:female
#height:174

 

posted @ 2019-04-10 22:04  追风狂想  阅读(277)  评论(0编辑  收藏  举报