python学习笔记三——字典

实验环境:anaconda4.6.11

五、字典

1.使用字典

1)在python中,字典是键-值对。每个键都与一个值相关联。字典用放在{}中的一系列键-值对表示,每个键-值对用逗号隔开,如:

alien_0 = {‘color’ : ’green’, ‘points’ : 5}

2)要访问字典中的值,可依次指定字典名和放在方括号内的键:

print(alien_0[‘color’])
newpoints = alien_0[‘points’]

3)要添加键-值对,可依次指定字典名、用方括号括起的键和相关联的值:

alien_0[‘x_position’] = 0
alien_0[‘y_position’] = 25

4)可以先创建一个空字典:

allien_0 = { }

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

alien_0 = {‘color’ : ’green’}
alien_0[‘color’] = ‘yellow’

6)要删除键值对,可以使用del语句,指定字典名和要删除的键:

alien_0 = {‘color’ : ’green’, ‘points’ : 5}
del alien_0[‘points’]

2.遍历字典

1)遍历所有的键-值对
这里用到了items()方法:

user_0 = {
	'username': 'efermi',
	'first_name': 'enrico',
	'last_name': 'fermi',
}
for key, value in user_0.items():
    print("\n键:" + key)
    print("值:" + value)

在这里插入图片描述

favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
    }
for name,language in favorite_languages.items():
	print(name.title() + "的最喜欢的语言是" + language.title() + "。")

在这里插入图片描述
2)遍历字典中的所有键
这里用到keys()方法。

for name in favorite_languages.keys():
	print(name.title())

在这里插入图片描述
如果要按顺序遍历字典中的所有键,可以使用前面学到的sorted()函数。

for name in sorted(favorite_languages.keys()):
	print(name.title() + ",感谢您参加这次投票。")

在这里插入图片描述
3)遍历字典中的所有值
这里用到方法values()。

print("以下语言被涉及到:")
for language in favorite_languages.values():
	print(language.title())

在这里插入图片描述
这种做法提取了字典中的所有值而没有考虑重复。为了剔除重复项,可以使用集合set,集合类似于列表,但是每个元素都必须是独一无二的。

print("以下语言被涉及到:")
for language in set(favorite_languages.values()):
    print(language.title())

在这里插入图片描述

3.嵌套

1)将字典存储在列表中
我们首先创建了3个字典,每个字典代表一个外星人,然后我们将这3个外星人字典存入一个列表中。

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)

在这里插入图片描述
事实上,外星人可能不止3个,当我们用range()函数生成多个外星人时:

#创建一个用于存储外星人的空列表
aliens = []

#创建30个绿色的外星人
for alien_number in range(30):
    new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
    aliens.append(new_alien)

#显示前5个外星人
for alien in aliens[:5]:
    print(alien)
print("~~~")

#显示创建了多少个外星人
print("外星人的总数量:" + str(len(aliens)))

在这里插入图片描述
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)

在这里插入图片描述
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())

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值