Python之字典用法

第六章

6.1 一个简单的字典

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

print(alien_0['color'])

print(alien_0['points'])

6.2 使用字典

字典是一系列的键值对,每个键都与一个值相关联,可以使用键来访问与之相关联的值。

与键相关联的值可以是数字,字符串,列表乃至字典。

在Python中,字典用放在花括号 {} 中的一系列键值对表示。

键和值之间用冒号分隔,而键值对之间用逗号分隔。

例如:

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

6.2.1 访问字典的中的值

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

例如:

alien_0 = {'color': 'green'}

print(alien_0['color'])

6.2.2 添加键值对

字典是一种动态结构,可随时在其中添加键值对。要添加键值对,可依次指定字典名,用方括号括起来的键和相关联的值。

例如:

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

print(alien_0)

❶ alien_0['x_position'] = 0

❷ alien_0['y_position'] = 25

print(alien_0)

6.2.3 先创建一个空字典

在创建了空字典后,可使用以下方式添加键值对

例如:

alien_0 = {}

alien_0['color'] = 'green'

alien_0['points'] = 5

6.2.4 修改字典中的值

要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值。

例如:

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

alien_0['color'] = 'yellow'

print(alien_0)

结果:

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

6.2.5 删除键值对

对于字典中不再需要的信息,可使用del 语句将相应的键—值对彻底删除。

例如:

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

print(alien_0)

❶ del alien_0['points']

print(alien_0)

注意:删除的键值对永久消失

6.2.6 有类似对象组成的元组

对于字典来说,可以使用字典来存储众多对象的同一种信息。

例如:

favorite_languages = {

        'jen': 'python',

        'sarah': 'c',

        'edward': 'ruby',

        'phil': 'python',

}

对于pritn()语句,可以使用写在多行

例如:

❶ print("Sarah's favorite language is " +

❷         favorite_languages['sarah'].title() +

❸         ".")

6.3 遍历字典

对于字典的遍历,可以遍历字典键-值对,字典的键,字典的值

6.3.1 遍历所有的键值对

如要遍历字典的键-值对,需使用方法item()来获取字典的键-值对。

例如:

user_0 = {

        'username': 'efermi',

        'first': 'enrico',

        'last': 'fermi',

}

❶ for key, value in user_0.items():

        ❷ print("\nKey: " + key)

        ❸ print("Value: " + value)

注意:即便遍历字典时,键-值对的返回顺序也与存储顺序不同

6.3.2 遍历字典中的所有键

如果要访问字典中的键,使用方法key()来访问。

例如:

favorite_languages = {

        'jen': 'python',

        'sarah': 'c',

        'edward': 'ruby',

        'phil': 'python',

        }

❶ for name in favorite_languages.keys():

        print(name.title())

输出:

Jen

Sarah

Phil

Edward

注意:也可将for name in favorite_languages.keys(): 换为for name in favorite_languages:

6.3.3 按顺序遍历字典中的所有键

在字典中,要字典按特定的顺序返回所有的键,可以使用sorted()函数来对字典的键排序

例如:

favorite_languages = {

        'jen': 'python',

        'sarah': 'c',

        'edward': 'ruby',

        'phil': 'python',

        }

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

        print(name.title() + ", thank you for taking the poll.")

6.3.4 遍历字典中的所有值

在字典中,如果要遍历字典中的值,可以使用values()来获取字典中的值

favorite_languages = { _

        'jen': 'python',

        'sarah': 'c',

        'edward': 'ruby',

        'phil': 'python',

        }

print("The following languages have been mentioned:")

for language in favorite_languages.values():

        print(language.title())

6.4 嵌套

将字典存储在列表中或将列表存储到字典中,或将字典存储到字典中,称之为嵌套。

6.4.1 字典列表

字典列表:就是将字典嵌套到列表上。

例如:

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)

6.4.2 在字典中存储列表

在字典中存储列表,每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表

示例如下:

pizza = {

        'crust': 'thick',

        'toppings': ['mushrooms', 'extra cheese'], }

# 概述所点的比萨

❷ print("You ordered a " + pizza['crust'] + "-crust pizza " +

"with the following toppings:")

❸ for topping in pizza['toppings']:

        print("\t" + topping)

6.4.3 在字典中存储字典

示例如下:

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())

6.5 小结

在本章中

  • 介绍了如何定义字典。
  • 介绍了如何使用在存储在字典中的信息。
  • 介绍了如何访问和修改在字典中的元素,以及如何遍历字典中的所有信息。
  • 介绍了如何遍历字典中的键-值对,所有的键和所有的值。
  • 介绍了如何在字典中嵌套列表,如何在列表中嵌套字典,如何在字典中嵌套字典
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值