我是靠谱客的博主 冷艳棉花糖,最近开发中收集的这篇文章主要介绍Python笔记for字典Python笔记for字典,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Python笔记for字典

文章目录

  • Python笔记for字典
    • 1 使用字典
      • 1.1 定义字典
      • 1.2 访问字典的值
      • 1.3 修改与添加键-值对
      • 1.4 空字典
      • 1.5 删除键-值对
      • 1.6 用多行来定义字典
    • 2 遍历字典
      • 2.1 遍历所有键值对:item()
      • 2.2 遍历字典中的所有键:keys()
      • 2.3 按顺序遍历字典中的所有键:sorted()
      • 2.4 遍历字典中的所有值:values()
    • 3 嵌套
      • 3.1 字典列表
      • 3.2 在字典中存储列表
      • 3.3 在字典中存储字典
    • 4 字典的一些内置方法汇总
    • 5 集合
      • 5.1 创建集合
      • 5.2 访问集合
      • 5.3 不可变集合

1 使用字典

本节将主要以一个外星人入侵小游戏为例子,定义其颜色color,速度speed,射杀后获得分数points,将不再在代码中为游戏注释。

1.1 定义字典

#常用
alien_0={'color':'green','points':5}
alien_0=dict(color=green,points=5)
#其他
alien_0=dict(zip(['color','points'],['green','5']))
dict([('color',green),('points',5)])

1.2 访问字典的值

dictname[key]

print(alien['color'])

1.3 修改与添加键-值对

dictname[key]=value,key存在则修改,不存在则添加

alien_0['color']='yellow'
alien_0['x_position']=0
alien_0['y_position']=25

1.4 空字典

alien_0={}
alien_0['color']='green'
alien_0['points']=5

1.5 删除键-值对

del dictname[key].(删除不可找回)

del alien['points']

1.6 用多行来定义字典

对于较大的字典,可以多行来进行定义,提高代码的可读性。

确定需要使用多行来定义字典时, 在输入左花括号后按回车键, 再在下一行缩进四个空格, 指定第一个键—值对, 并在它后面加上一个逗号。 此后你再次按回车键时, 文本编辑器将自动缩进后续键—值对, 且缩进量与第一个键—值对相同。

可在最后一个值对后面也加上逗号,方便后续添加。

favorite_languages={
'Jen':'Python',
'Sarah':'C',
'Edward':'Ruby',
'Phil':'Python',
}

2 遍历字典

2.1 遍历所有键值对:item()

使用for循环来遍历字典,可以声明两个任意名称的变量,使用方法为item()

for循环的返回值顺序与存储顺序并不相同,因为dict不关心顺序

for name,language in favorite_languages.item():
print('nname:'+name,end='')
print(''s language is '+language)

2.2 遍历字典中的所有键:keys()

依然使用for循环来遍历所有键,与上类似,只是要使用到keys()方法

#若字典中的name未大写,可以在输出的时候用title()
for name in favorite_languages.keys():
print(name.title())

实际上遍历字典会默认遍历所有键,所以也可用以下代码替代

for name in favorite_languages:

方法keys()并非只能用于遍历,实际上它返回了一个列表,其中包含了字典的所有键,因此对列表的用法也可以应用在keys()上,如

friends=['Phil','Sarah','Erin']
for name in friends:
if name in favorite_languages.keys():
print('Hi '+name+',I see your favorite language is '+favorite_languages[name]+'!')
else:
print(name,'please write your favorite language in this dict.')

2.3 按顺序遍历字典中的所有键:sorted()

可以在for循环中对返回的键使用sorted()进行排序

for name in sorted(favorite_languages.keys()):
print(name+',thank you for taking the poll.')

2.4 遍历字典中的所有值:values()

使用方法同keys相同,由于值可以相同,如果想获得不重复的值,可以使用集合set

for language in set(favorite_languages.value()):
print(language)

3 嵌套

有时候, 需要将一系列字典存储在列表中, 或将列表作为值存储在字典中, 这称为嵌套 。可以在列表中嵌套字典、 在字典中嵌套列表甚至在字典中嵌套字典。

3.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)

也可以使用for循环将指定的字典存入列表

for alien_number in range(30):
new_alien={'color':'green','points':5,'speed':'slow'}
aliens.append(new_alien)

用for修改列表中字典

for alien in aliens[:3]:
if alien['color']=='green':
alien['color']='yellow'
alien['speed']='medium'
alien['points']=10

3.2 在字典中存储列表

将列表作为值添加进字典,或者创建字典即可,以达到在字典中将一个键关联到多个值的目的。

#存储所点比萨的信息
pizza={
'crust':'thick',
'toppings':['mushrooms','extra cheese'],
}

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

尽量使作为不同值定义的每个字典的结构都相同,这样可以使嵌套的字典更加容易使用和处理

4 字典的一些内置方法汇总

***fromkeys()***:用于创建并返回一个新字典,第一个参数时字典的键,第二个参数可选,是传入键对应的值,默认None。

***keys()***:返回键

***values()***:返回所有值

***items()***:返回键值对

***get()***:第一个参数为键,返回值,可在第二个参数设置对应的默认返回值

***setdefault()***:与get()类似,在字典中找不到相应的键时会自动添加

innot in:成员资格操作符,判断键是否在字典中

***clear()***:清空字典

***copy()***:复制字典

***pop()***:给定键弹出对应的值

popitem():弹出一个键值对项

***update()***:更新字典

a={'one':1}
a.update(one=2)

5 集合

使用花括号表示,但没有体现映射关系的就是集合。

集合是无序的,元素具有唯一性。

5.1 创建集合

使用花括号

set1={'鸡','鸭','鱼','肉'}

使用set转换列表

set2=set(['鸡','鸭','鱼'])

注:可以利用set来去除一个列表中重复的元素。

5.2 访问集合

使用迭代来访问:

set1={1,2,3,4,5}
for each in set1:
print(each,end='')

***add()***:为集合添加元素

***remove()***:删除集合中已知元素

5.3 不可变集合

frozenset()

最后

以上就是冷艳棉花糖为你收集整理的Python笔记for字典Python笔记for字典的全部内容,希望文章能够帮你解决Python笔记for字典Python笔记for字典所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部