【Class 23】列表推导式

列表推导式

b = [ 表达式 for x in list 判断语句 ]

实例一: 将列表求平方+1

a = [1,2,3,4,5]

b = [i*i+1  for i in a]
print(b)

输出结果:
[2, 5, 10, 17, 26]

实例二: 将列表中 >= 3 的值求平方,生成新的列表

a = [1,2,3,4,5]

b = [i*i+1  for i in a  if i >= 3]
print(b)

输出结果为:
[10, 17, 26]

集合推导式

b = { 表达式 for x in list 判断语句 }

实例三:

a = {1,2,3,4,5}

b = {i*i+1  for i in a  if i >= 3}
print(b)

输出结果为:
{17, 10, 26}

元组推导式

b = ( 表达式 for x in list 判断语句 )
b = tuple(b)

a = (1,2,3,4,5)

b = (i*i+1  for i in a  if i >= 3)
print(tuple(b))

输出结果为:
(10, 17, 26)

字典推导式

b = { v for v in dict_1.values() }
b = { chr(ord(v) + 1) for v in dict_1.values() if type(v)==type(‘a’) }
b = { chr(ord(v) + 1) if type(v)==type(‘a’) else (v+1) for v in dict_1.values() }

dict_1 = {1:'a', 2:'b', 'c':3, 'd':4, 5:'e'}

b = {  v     for v in dict_1.values() }
print(b)
输出:  {3, 4, 'e', 'a', 'b'}

## 将所有字符+1
b = {  chr(ord(v) + 1)  for v in dict_1.values()  if type(v)==type('a') }
print(b)
输出:  {'b', 'f', 'c'}

## 将所有字符+1(转换为int+1,然后转换为字符) , 数字+1
b = {  chr(ord(v) + 1)  if type(v)==type('a') else (v+1)    for v in dict_1.values() }
print(b)
输出:  {4, 5, 'c', 'b', 'f'}

## 将key value 颠倒
b = {  v:k   for k,v in dict_1.items() }
print(b)
输出: {'a': 1, 'b': 2, 3: 'c', 4: 'd', 'e': 5}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

"小夜猫&小懒虫&小财迷"的男人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值