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

栏目: Python · 发布时间: 6年前

内容简介:字典类似于通过联系人名字查找联系人电话号码的电话本,即把键(名字)和值(电话号码)联系在一起。注意,键必须是键值对在字典中的标记为:

字典类似于通过联系人名字查找联系人电话号码的电话本,即把键(名字)和值(电话号码)联系在一起。注意,键必须是 唯一 的。并且 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复制代码

以上所述就是小编给大家介绍的《python编程:从入门到实践学习笔记-字典》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First Python

Head First Python

Paul Barry / O'Reilly Media / 2010-11-30 / USD 49.99

Are you keen to add Python to your programming skills? Learn quickly and have some fun at the same time with Head First Python. This book takes you beyond typical how-to manuals with engaging images, ......一起来看看 《Head First Python》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具