内容简介:字典类似于通过联系人名字查找联系人电话号码的电话本,即把键(名字)和值(电话号码)联系在一起。注意,键必须是键值对在字典中的标记为:
字典类似于通过联系人名字查找联系人电话号码的电话本,即把键(名字)和值(电话号码)联系在一起。注意,键必须是 唯一 的。并且 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编程:从入门到实践学习笔记-字典》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。