用人话概况Python基础(四):字典 干货来了!!!

用人话概况Python基础(四):字典

字典定义

定义:在Python中字典是一系列键-值对,每个键都会与一个值相关联。

在Python中,字典将一系列得键-值对放在花括号中,在字典中想存储多少个键-值对都可以,键-值对之间用逗号隔开

people = {‘name’:“xiaowang”,‘age’:18,‘points’:85}

字典的操作

此处要介绍的字典操作有创建、访问、遍历、添加、修改、删除

创建

利用构造函数dict()直接从键值对构建字典

a = dict([('name','lisa'),('telephone','12588'),('hair','black')])
print(a)

#打印结果
{'name': 'lisa', 'telephone': '12588', 'hair': 'black'}

可以利用.items()方法,将字典里的元素转化为元组,成为列表的一个元素

a = {'name': 'lisa', 'telephone': '12588', 'hair': 'black'}
t=a.items()
print(t)

#打印结果
dict_items([('name', 'lisa'), ('telephone', '12588'), ('hair', 'black')])

访问

要访问字典中的某一个值,我们只需把该值对应的键放入[]内即可,如下所示:

people = {‘name’:“xiaowang”,‘age’:18,‘points’:85}
print(people['name'])

#打印结果
xiaowang

遍历

如果我们需要获取字典中的所有元素,那么我们就得使用高效得方法进行获取,这时我们就可以使用一个for循环来遍历这个字典

1.遍历所有的键-值对

user = {'name':'jery','hair':'black','lover':'tom'}
for key,value in user.items():
	print("Key:"+key)
	print("Value:"+value+'\n')

#打印结果
Key:name
Value:jery

Key:hair
Value:black

Key:lover
Value:tom

案例分析:
①我们要获取键-值,那么我们需要声明两个变量存储键-值对中得键和值,也就是案例中for循环中声明的key和value
②由于我们要遍历的是所有的键-值对的键和值,所以我们要使用方法items(),以此来返回一个键-值对

2.遍历所有的键

user = {'name':'jery','hair':'black','lover':'tom'}
for key in user.keys():
	print(key)

#打印结果
name
hair
lover	

案例分析:
①当我们只需要获取键-值对中的键时,我们只需要使用方法keys()即可
②因为我们只需要获取键-值对中的键,所以我们在for循环中只需要声明一个变量来存储每个键的信息即可

3.遍历所有的值

user = {'name':'jery','hair':'black','lover':'tom'}
for value in user.values():
	print(value)

#打印结果
jery
black
tom

案例分析:
①当我们只需要获取键-值对中的值时,我们需要使用方法values()
②因为我们只需要获取键-值对中的键,所以我们在for循环中只需声明一个变量来存储每个值的信息即可

添加键-值对

字典属于是一种动态结构,可以随时添加键-值对,只需依次指定字典名、把键放进[]中,再将相关联的值赋上去即可,如下所示:

#给字典添加新键-值对,'home':'beijing'和'food':'apple'
people = {'name':'xiaowang','age':18,'points':85}
people['home'] = 'beijing'
people['food'] = 'apple'
print(people)

#打印结果
{'name': 'xiaowang', 'age': 18, 'points': 85, 'home': 'beijing', 'food': 'apple'}

注:键-值得排列循序不一定和添加得顺序意义,因为Python不关心键-值得添加顺序,只关心键和值得关联关系

修改键-值对

我们如果想要修改字典中得值,只需将键与新值关联起来即可。

因为新值的赋予将会覆盖原来的值,从而达到修改得目的。
如下所示:

people = ['name':'xiaowang']
print('My name is '+people['name'])
people['name'] = 'liuliu'
print(people)

#打印结果
My name is xiaowang
 ['name':'liuliu']

删除键-值对

对于字典不需要的信息,我们可以使用del语句将其删除。使用del语句时,需要指定字典名和要删除的键

如下所示:

#删除'points':85,并将新的字典打印出来
people = {'name':'xiaowang','age':18,'points':85}
del people['points']
print(people)

#打印结果
 {'name':'xiaowang','age':18}

字典的嵌套应用

字典的几种常见嵌套应用有以下所列三种,由于这三种嵌套思想通过案例观察很容易明白,因此不作过多说明,但要想熟练掌握,仍需不断的进行练习巩固

1.字典列表

user_1 = {'name':'mark','hair':'long'}
user_2 = {'name':'jack','hair':'short'}
user_3 = {'name':'jenny','hair':'long'}

users = [user_1,user_2,user_3]
for user in users:
	print(user)

#打印结果
{'name':'mark','hair':'long'}
{'name':'jack','hair':'short'}
{'name':'jenny','hair':'long'}

2.将列表嵌套于字典中

users_lists = {
	'xiaoming':['banana','apple'],
	'xiaoliu':['orange']
	}
for name,foods in users_lists.items():
	print('\n'+name.title() + "'s favourite food are:")
	for food in foods:
		print('\t'+food.title())

#打印结果

Xiaoming's favourite food are:
	Banana
	Apple

Xiaoliu's favourite food are:
	Orange

案例分析:
字典中的键是唯一的,但值是以列表的形式存储的,所以获取值是需要利用for循环来遍历获取

3.在字典中嵌套字典

我们设两个字典为a字典和b字典,那么在a字典中嵌套b字典,那么b字典将作为a字典键-值对中的值

users_lists = {
	'user_1':{
		'name' = 'xiaoming',
		'hair' = 'long'
	},
	'user_2':{
		'name' = 'xiaowang',
		'hair' = 'short'
	}
}
for user,user_info in users_lists.items():
	print('\nUser_number:'+user)
	message = user_info['name'].title+ 'has a '+user_info['hair']+'hair'
	print('\t'+message)

#打印结果

User_number:user_1
	Xiaoming has a long hair

User_number:user_2
	Xiaowang has a short hair

案例分析:
①我们首先定义了一个字典users_lists,包含两个键,分别为user_1和user_2
②每个键关联的都是一个字典,其中包含name和hair
③我们先是用for循环遍历了字典users_lists,并将键存储于user中,值(字典)存储于user_info中
④接着输出键的信息【print(’\nUser_number:’+user)】
⑤提取嵌套的字典中的相关信息,组成我们想要的内容message【message = user_info[‘name’].title+ 'has a '+user_info[‘hair’]+‘hair’】
⑥打印message
⑦重复for循环语句,直至结束

——————————————————————————————————————————————————

你的每次点赞,我都认真的当作是喜欢~~~

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值