您的位置:首页 > 编程语言 > Python开发

Python基础----列表、字典、集合推导式

2019-01-07 19:51 423 查看

一、列表推导式
1.定义:列表推导式是利用其它列表创建新列表的一种方式,工作原理和for循环类似。可对得到的元素进行转换和筛选。
2.格式:
变量名=[表达式 for i in 列表]
3.执行流程:
遍历出列表中的内容给变量,表达式根据变量值进行逻辑运算。或者遍历列表中的内容给变量,进行判断,符合的值在给表达式。
4.练习题
(1).将lst中每一个元素进行平方后放入到一个新列表中。
#普通算法

lst=[1,2,3,4,5,6,7,8,9]
new_lst=[]
for i in lst:
ret=i*i
new_lst.append(ret)
print(new_lst)

结果:[1, 4, 9, 16, 25, 36, 49, 64, 81]

#列表推导式

lst=[1,2,3,4,5,6,7,8,9]
new_lst=[i*i for i in lst ]
print(new_lst)
结果:[1, 4, 9, 16, 25, 36, 49, 64, 81]

(2).求出lst中是奇数的值,然后放入到新列表中

lst=[1,2,3,4,5,6,7,8,9]
new_lst=[i for i in lst  if i%2==1]
print(new_lst)
结果:[1,3,5,7,9]

(3).求列表中所有大于2的偶数进行平方计算

lst=[1,2,3,4,5,6,7,8,9]
new_lst=[i for i in lst  if i >2 and i%2==0]
print(new_lst)
结果:
[4, 6, 8]

(4).求一个嵌套列表转换成一个一维列表

lst=[[1,2,3],[4,5,6],[7,8,9]]
new_lst=[i for lst1 in lst for i in lst1]
print(new_lst)
结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9]

(5)现在有一列表lst=[[1,2,3],[4,5,6],[7,8,9]]求147,和159

lst=[[1,2,3],[4,5,6],[7,8,9]]
new_lst=[ lst [i] [0]  for i in range(len(lst) )]
print(new_lst)
结果:
[1, 4, 7]

lst=[[1,2,3],[4,5,6],[7,8,9]]
new_lst=[ lst [i] [i]  for i in range(len(lst) )]
print(new_lst)
结果:
[1,5,9]

二、字典推导式
1.格式:
{表达式 for 临时变量 in 可迭代内容}
2练习题
(1)将字典中的key和value进行对换

dic={'k1':20,'k2':10}
new_dic={value:key for key,value in dic.items()}
print(new_dic)
结果:
{20: 'k1', 10: 'k2'}

三、集合推导式
1.格式:
{表达式 for 临时变量 in 可迭代内容}
2.练习题
计算列表中每个值得平方,自带去重的功能

lst=[1,2-3,4,3]
set1={i*i for i in lst }
print(set1)
结果:
{16, 1, 9}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: