《Python编程从入门到实践》_第六章_字典

python

一个简单的字典

#用户信息

user = {'name':'Frank','age':'23','city':'shanghai'}

print(user['name'])

print(user['age'])

print(user['city'])

#运行结果

Frank

23

shanghai

字典的结构

python里面,字典就是一系列的 键-值,每个值都与一个值是一一对应的,键可以是数字、字符串、列表和字典。实际上,可以将任何python对象用作字典的值。

使用字典

访问字典中的值

要获取与键相关的值,可依次指定字典名和放在方括号内的键

#用户信息

user = {'name':'Frank','age':'23','city':'shanghai'}

print(user)

user['hobby']='reading'

print(user)

#运行结果

{'name': 'Frank', 'age': '23', 'city': 'shanghai'}

{'name': 'Frank', 'age': '23', 'city': 'shanghai', 'hobby': 'reading'}

添加键-值对

字典是一种动态结构,可以随时添加,可依次指定字典名、用方括号括起来的键和对应的值

#用户信息

user = {'name':'Frank','age':'23','city':'shanghai'}

print(user)

user['hobby']='reading'

print(user)

#运行结果

{'name': 'Frank', 'age': '23', 'city': 'shanghai'}

{'name': 'Frank', 'age': '23', 'city': 'shanghai', 'hobby': 'reading'}

修改值

给键对应值的重新赋值就可以了

#用户信息

user = {'name':'Frank','age':'23','city':'shanghai'}

print(user)

user['city']='nanjing'

print(user)

#运行结果

{'name': 'Frank', 'age': '23', 'city': 'shanghai'}

{'name': 'Frank', 'age': '23', 'city': 'nanjing'}

删除键-值对

删除的键值对永远消失了

#用户信息

user = {'name':'Frank','age':'23','city':'shanghai'}

print(user)

del user['city']

print(user)

#运行结果

{'name': 'Frank', 'age': '23', 'city': 'shanghai'}

{'name': 'Frank', 'age': '23'}

常用的格式

#最喜欢的语言

favorite_languages = {

'Jen':'python',

'Frank':'c++',

'Tom':'JAVA',

}

print(favorite_languages)

#运行结果

{'Jen': 'python', 'Frank': 'c++', 'Tom': 'JAVA'}

最后一个键值对后面可以加上一个逗号,也可以不加

遍历字典

要是for循环遍历字典,可以使用两个变量,用于存储键-值。方法items()返回一个键-值队列表。

#最喜欢的语言

favorite_languages = {

'Jen':'python',

'Frank':'c++',

'Tom':'JAVA',

'Sabar':'python',

'Bob':'ruby',

}

for k,v in favorite_languages.items():

print('\nkey: ',k)

print('value: ',v)

#运行结果

key: Jen

value: python

key: Frank

value: c++

key: Tom

value: JAVA

key: Sabar

value: python

key: Bob

value: ruby

如果只需要遍历键呢?
可以使用方法keys(),遍历字典时,默认遍历所有的键,因此如果不加keys(),并不会影响输出,加keys()可以便于代码的阅读和理解

#最喜欢的语言

favorite_languages = {

'Jen':'python',

'Frank':'c++',

'Tom':'JAVA',

'Sabar':'python',

'Bob':'ruby',

}

for name in favorite_languages.keys():

print('\nname: ',name)

#运行结果

name: Jen

name: Frank

name: Tom

name: Sabar

name: Bob

怎么对键排排队?

这里我们就学到之前用的函数sorted(),临时的排队。

#最喜欢的语言

favorite_languages = {

'Jen':'python',

'Frank':'c++',

'Tom':'JAVA',

'Sabar':'python',

'Bob':'ruby',

}

for name in sorted(favorite_languages.keys()):

print('\nname: ',name)

#运行结果

name: Bob

name: Frank

name: Jen

name: Sabar

name: Tom

遍历字典中所有值

如果你只对字典中的值感兴趣,可以是用方法value()

#最喜欢的语言

favorite_languages = {

'Jen':'python',

'Frank':'c++',

'Tom':'JAVA',

'Sabar':'python',

'Bob':'ruby',

}

for value in favorite_languages.values():

print(value)

#运行结果

python

c++

JAVA

python

ruby

如上面的运行结果,我们看到了有重复的值,那么如何消除重复的值?

调用set()即可!

#最喜欢的语言

favorite_languages = {

'Jen':'python',

'Frank':'c++',

'Tom':'JAVA',

'Sabar':'python',

'Bob':'ruby',

}

for value in set(favorite_languages.values()):

print(value)

#运行结果

python

JAVA

c++

ruby

嵌套

有的时候,你需要将字典存储在列表里面,有的时候你需要将裂变存储在字典里面,有的时候你也许会将字典存储在字典里面,这种就称为嵌套。

在列表中放入字典

#创建10个绿色的外星人

aliens = [] #创建列表用来装外星人

for alien_number in range(10):

new_alien = {'color':'green','speed':'low','points':5}

aliens.append(new_alien)

for alien in aliens[:5]: #显示前5个外星人属性

print(alien)

print("....")

print(aliens[0]['color']) #显示第一个外星人的颜色

#运行结果

{'color': 'green', 'speed': 'low', 'points': 5}

{'color': 'green', 'speed': 'low', 'points': 5}

{'color': 'green', 'speed': 'low', 'points': 5}

{'color': 'green', 'speed': 'low', 'points': 5}

{'color': 'green', 'speed': 'low', 'points': 5}

....

green

在字典中存储列表

#最喜欢的语言

favorite_languages = {

'jen':['python','c++','Java'],

'frank':['python','golang'],

'tom':['c','PHP','python'],

}

for name,languages in favorite_languages.items(): #这里我们使用了languages来存列表的值

print("\n" + name.title() + "'s favorite languages are:")

for language in languages: #使用for循环遍历语言列表

print("\t" + language.title())

#运行结果

Jen's favorite languages are:

Python

C++

Java

Frank's favorite languages are:

Python

Golang

Tom's favorite languages are:

C

Php

Python

在字典里面存储字典

#信息字典

user = {

'aeinstein':{

'first':'albert',

'last':'einstein',

'location':'princeton',

},

'mcurie':{

'first':'marie',

'last':'curie',

'location':'paris',

},

}

for username,user_info in user.items():

print("\nUsername:",username)

fullname = user_info['first'] + ' ' +user_info['last']

location = user_info['location']

print("\tFull name:" + fullname.title())

print("\tLocation:" + location.title())

#运行结果

Username: aeinstein

Full name:Albert Einstein

Location:Princeton

Username: mcurie

Full name:Marie Curie

Location:Paris

以上是 《Python编程从入门到实践》_第六章_字典 的全部内容, 来源链接: utcz.com/z/388857.html

回到顶部