当前位置:首页>python>小白学python第40天之列表集合字典推导式(下)

小白学python第40天之列表集合字典推导式(下)

  • 2026-10-21 13:27:49
小白学python第40天之列表集合字典推导式(下)

1.16

列表集合字典推导式(下)

?

学前疑问

昨天我们已经学了列表推导式,那大家可以思考一下,字典跟集合推导式又是怎样的?

1

字典推导式

(1)字典推导式作用

思考:有如下两个列表,如何快速合并为一个字典?

list1 = ['name', 'age', 'gender']list2 =['Tom',20,'male']person = {'name':'Tom', 'age':20, 'gender':'male'}

答:使用字典推导式。

字典推导式作用:快速合并列表为字典或提取字典中目标数据

(2)字典推导式基本语法

① 字典推导式列表推导式思想的延续,语法差不多,只不过产生的是字典而已。

② 字典推导式格式:

变量 = {key:value for key, value in 序列}

(3)案例

案例1

创建一个字典:字典key式1-5数字,value是这个数的2次方。

dict1 = {1:1, 2:4, 3:9, 4:16, 5:25}

dict1 = {i:i**2for i in range(1, 6)}print(dict1)

案例2

把两个列表合并为一个字典

list1 = ['name', 'age', 'gender']list2 = ['Ben', 18, 'male']person = {list1[i]:list2[i] for i in range(len(list1))}print(person)

案例3

提取字典中的目标数据

counts = {'MBP':268, 'HP':125, 'DELL':201, 'Lenovo':199, 'ACER':99}#需求:提取上述电脑数量大于等于200的字典数据counts = {key:value for key, value in counts.items() if value >= 200}print(counts)

2

集合推导式

(1)集合推导式作用

集合推导式跟列表推导式非常相似,唯一区别在于用{} 代替 [].

思考:为什么需要集合推导式,列表推导式不香么?

答:集合的最大特点就是去重

(2)案例

创建一个集合,数据为下方列表的2次方

list1 = [1, 1, 2]set1 = {1, 4}

集合推导式

list1 = [1, 1, 2]set1 = {i**2for i in list1}print(set1)

今日学习完毕,课后作业:

已知一个未知的API数据如下:

api_response = {'data': [        {'token': '43214', 'tsym': 'NIFTY07DEC23C20700', 'exch': 'NFO', 'price': 150.5},        {'token': '43218', 'tsym': 'NIFTY07DEC23P20700', 'exch': 'NFO', 'price': 120.0},        {'token': '43206', 'tsym': 'NIFTY07DEC23C20600', 'exch': 'NFO', 'price': 180.8},        {'token': '43207', 'tsym': 'NIFTY07DEC23P20600', 'exch': 'NFO', 'price': 95.5}    ]}

要求:使用推导式提取下面的关键信息。

{'43214': 'NIFTY07DEC23C20700', '43218': 'NIFTY07DEC23P20700', '43206': 'NIFTY07DEC23C20600', '43207': 'NIFTY07DEC23P20600'}

最新文章

随机文章