python 字典遍历同时获得键和值、值以元组的形式输出_python元组和字典的简单学习...

本文介绍了Python中的元组和字典,详细讲解了元组的访问与遍历,字典的增删查改操作,以及如何遍历字典的键值对、键和值。还探讨了for循环遍历字典的本质。
摘要由CSDN通过智能技术生成

元组(tuple)

用圆括号()标识,定义元组后,元组元素不可修改。如果想修改元组只能重新定义元组。

因为元组不可更改,所以也没有增删改等用法,主要语法就是访问元组元素,遍历元组。

访问元组元素:

1 tuple1 = (1, 2, 3, 4)

2 print(tuple1)

3 print(tuple1[0]) # 虽然元组是用(),但是当使用索引时还是使用tuple[]。

输出结果:

(1, 2, 3, 4)

1

遍历元组:

用while循环遍历:

1 index = 0

2 while index < len(tuple1):

3 print(tuple1[index])

4 index += 1

输出结果:

1

2

3

4

用for循环遍历:

1 tuple1 = (1, 2, 3, 4)

2 for i in tuple1:

3 print(i)

字典(dictionary)

是一系列键值对,包括在花括号内({}),每个对之间用逗号隔开,键必须是唯一的,值则不必。

字典的增删查改:

(1)添加键值对

1 dic_people = {'name': 'abc', 'color': 'yellow'}

2 print(dic_people)

3

4 dic_people['old'] = 18           # 添加键

5 dic_people['language'] = 'english'    # 添加值

6

7 print(dic_people)

输出结果:

{'name': 'abc', 'color': 'yellow'}

{'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english'}

(2)删除键值对

1 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english'}

2 print(dic_people)

3

4 del dic_people['language']    # 字典使用del语句删除一对键值对

5

6 print(dic_people)

输出结果:

{'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english'}

{'name': 'abc', 'color': 'yellow', 'old': 18}

(3)查询字典

1 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english'}

2 print(dic_people)

3 # print(dic_people[0]) # 字典不能通过索引小标来访问

4 print(dic_people['old'])

5 # print(dic_people[18]) # 只能通过键值查询key值,不能通过key值查询

输出结果:

{'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english'}

18

(4)修改字典

1 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english'}

2 print(dic_people)

3

4 dic_people['old'] = 20

5 print(dic_people)

输出结果:

{'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english'}

{'name': 'abc', 'color': 'yellow', 'old': 20, 'language': 'english'}

遍历字典

(1)遍历所有的键值对

使用dic.items()

1 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english'}

2

3 for key,value in dic_people.items():

4 # print(key1, value1)

5 # print(key1 + ':'+ value1) # 注意:使用加号(+)会出错,因为dic_people中old的值是int型

6 print(key, ':', value)

输出结果:

name : abc

color : yellow

old : 18

language : english

(2)遍历所有的键值

使用dic.keys()

1 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english'}

2

3 for key in dic_people.keys():

4 print(key)

输出结果:

name

color

old

language

(3)遍历所有的value值

使用dic.values()

1 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 20, 'language': 'english', 'length': 18}

2 for value in dic_people.values():

3 print(value)

输出结果:

abc

yellow

18

english

18

从上面的示例可以看到输出结果中有重复项,如果我们不想要重复项怎么办?可以使用set(dic.values())

1 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english', 'length': 18}

2

3 for value in set(dic_people.values()): # 去掉重复项

4 print(value)

输出结果:

english

18

abc

yellow

从上面的几个实例可以看出都是for循环加上字典调用函数实现遍历相应的值,那么不调用函数可以for循环遍历吗?

1 dic_people = {'name': 'abc', 'color': 'yellow', 'old': 18, 'language': 'english'}

2 for key in dic_people:

3 print(key)

输出结果:

name

color

old

language

可以看出不调用函数的结果是遍历key值,为什么会这样呢?这就涉及到for循环的本质了,在后面的迭代器中会讲的for循环的本质是什么。

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值