内容简介:字典类似于通过联系人名字查找联系人电话号码的电话本,即把键(名字)和值(电话号码)联系在一起。注意,键必须是键值对在字典中的标记为:
字典类似于通过联系人名字查找联系人电话号码的电话本,即把键(名字)和值(电话号码)联系在一起。注意,键必须是 唯一 的。并且 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
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》 这本书的介绍吧!