python从入门到实践学习笔记_python编程:从入门到实践学习笔记-字典

字典类似于通过联系人名字查找联系人电话号码的电话本,即把键(名字)和值(电话号码)联系在一起。注意,键必须是 唯一

的。并且 python 只能使用 不可变

的对象(比如字符串)来作为字典的键,但是可以将不可变或可变的对象作为字典的值。举一个简单的字典例子。

alien = {'color': 'green', 'points': 5}复制代码

键值对在字典中的标记为: d = {key1 : value1, key2 : value2 }

。注意键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。字典中的键/值对是没有顺序的。如果想要一个指定的顺序,那么在使用前自行排序。

使用字典

访问字典中的值

依次指定字典名和放在方括号内的键,如下所示:

alien = {'color': 'green', 'points': 5}

print(alien_0['color'])

#运行结果:

green复制代码

创建字典并修改字典中的值

创建空字典时使用一对空的花括号定义一个字典,再分行添加各个键值对。

修改字典的值可以指定字典名、键以及新的赋值。

alien = {}

alien['x_position'] = 0

alien['y_position'] = 25

print(alien)

alien['x_position'] = 25

print(alien)

#运行结果:

{'x_position': 0, 'y_position': 25}

{'x_position': 25, 'y_position': 25}复制代码

添加/删除键值对

字典是一种动态结构。

添加键值对时,依次指定字典名、方括号和键、所赋的值。

删除键值对时,可使用 del

语句,指定字典名和要删除的键。

alien = {'color': 'green', 'points': 5}

print(alien)

alien['x_position'] = 0

alien['y_position'] = 25

print(alien)

del alien['color']

print(alien)

#运行结果:

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

{'color': 'green', 'points': 5, 'y_position': 25, 'x_position': 0}

{'points': 5, 'y_position': 25, 'x_position': 0}复制代码

遍历字典

遍历所有的键值对

user = {

'username': 'efermi',#前面有四个空格的缩进,下同

'first': 'enrico',

'last': 'fermi',

}

for key, value in user.items()

print("\nKey: " + key)

print("Value: " + value)

#运行结果:

Key: last

Value: fermi

Key: first

Value: enrico

Key: username

Value: efermi复制代码

由上可知,在字典的遍历中,可以声明两个变量分别存储键值对中的键和值。字典的方法 item()

返回一个键值对列表。注意,在遍历字典的时候,键值对的返回顺序与存储顺序不同。python只关系键和值之间的对应关系。

遍历字典中的所有键/值

使用方法 keys()

可以遍历字典中的所有键。或者不使用方法,默认遍历字典中的键。

使用方法 values()

可以遍历字典中的所有值。返回一个值列表。

favorite_languages = {

'jen': 'python',

'sarah': 'c',

'edward': 'ruby',

'phil': 'python',

}

for name in favorite_languages.keys():

print(name.title())

for language in favorite_languages.values():

print(language.title())

#运行结果:

Jen

Sarah

Edward

Phil

Python

C

Ruby

Python复制代码

或者不使用方法,默认遍历字典中的键。即 for name in favorite_languages.keys():

效果等同 for name in favorite_languages:

若需按顺序遍历,只需使用 sorted()

嵌套

将一系列字典存储在列表中,或者将列表作为值存储在字典中,称为嵌套。

字典列表

将一系列字典存储在列表中。

alien_0 = {'color': 'green', 'points': 5}

alien_1 = {'color': 'yellow', 'points': 10}

alien_2 = {'color': 'red', 'points': 15}

aliens = [alien_0, alien_1, alien_2]

for alien in aliens:

print(alien)

#运行结果:

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

{'color': 'yellow', 'points': 10}

{'color': 'red', 'points': 15}复制代码

列表字典

将字典存储在列表中。

lili = {

'name': 'lili',

'phonenum': ['123', '456'],

}

print("lili's name is " + lili['name'] + " and her phonenum is ")

for num in lili['phonenum']:

print("\t" + num)

#运行结果:

lili's name is lili and her phonenum is

123

456复制代码

字典中嵌套字典

存储网站用户信息可以在字典中嵌套字典,例如:

users = {

'aeinstein': {

'first': 'albert',

'last': 'einstein',

'location': 'princeton',

},

'mcurie': {

'first': 'marie',

'last': 'curie',

'location': 'paris',

},

}

for username, user_info in users.items():

print("\nUsername: " + username)

full_name = user_info['first'] + " " + user_info['last']

location = user_info['location']

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

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

#运行结果:

Username: aeinstein

Full name: Albert Einstein

Location: Princeton

Username: mcurie

Full name: Marie Curie

Location: Paris复制代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值