python 推导式(列表,元组,字典,集合)

列表推导式

通过for循环生成

list1 = [i for i in range(10)]
print(list1)


# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

增加条件

# 可以写多个if,但是不能写else和elif
list1 = [i for i in range(10) if i>3 if i<8]
print(list1)


# [4, 5, 6, 7]

列表里面嵌套了序列

list2 = [(1, 2), (6, 7)]
list1 = [(i, k) for i, k in list2 if i > 5]
print(list1)


# [(6, 7)]
list3 = [(1, 2), (7, 8), (8, 9)]
list2 = []
list1 = [(list2.append(i), list2.append(k)) for i, k in list3 if i > 5 if i % 2 == 0]
print(list2)


# [8, 9]
list3 = [(1, 2), (7, 8), (8, 9)]
list2 = []
list1 = [list2.append((i, k)) for i, k in list3 if i > 5]
print(list2)



# [(7, 8), (8, 9)]
list4 = [(1,2),(7,8)]
list3 = []
list2 = []
list1 = [(list3.append(i), list2.append(k)) for i,k in list4 if i>5]
print(list3)
print(list2)


# 输出 [7]
# 输出 [8]

进行加减乘除

list1 = [1, 2, 3, 4]
list2 = [i*2 for i in list1]
print(list2)

# [2, 4, 6, 8]

元组推导式

通过for循环生成

tuple1 = (i for i in range(5))
print(tuple1)              # <generator object <genexpr> at 0x000002386E9E7648>
a = list(tuple1)           # [0, 1, 2, 3, 4]
print(tuple(a))            # (0, 1, 2, 3, 4)

tuple1 = (i for i in range(10) if i>4)
print(list(tuple1))        # [5, 6, 7, 8, 9]

通过是可以进行加减乘除,也是可以在后面增加 if 条件的

字典推导式

通过for循环生成

keys = ['name', 'age']
values = ['张三', 19]
dict1 = {keys[i]:values[i] for i in range(len(keys)) if len(keys) == len(values)}
print(dict1)


# {'name': '张三', 'age': 19}

集合推导式

通过for循环生成

set1 = {i for i in range(10)}
print(set1)

# {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

通过是可以进行加减乘除,也是可以在后面增加 if 条件的

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值