后浪小萌新Python --- 列表推导式

列表推导式

用来快速创建列表

方法一:

列表 = [表达式 for 变量 in 序列] - 产生一个新的列表, 变量在序列中每取一个元素就将表达式的值添加到新列表中

方法二:

列表 = [表达式 for 变量 in 序列 if 条件语句]

方法三:

列表 = [表达式 for 变量1 in 序列1 for 变量2 in 序列2]
列表 = [表达式 for 变量1 in 序列1 for 变量2 in 序列2 if 条件语句]

举例:

list1 = [10 for x in range(5)]
print(list1)    # [10, 10, 10, 10, 10]

list2 = [x*2 for x in range(1, 5)]
print(list2)    # [2, 4, 6, 8]

list3 = [f'{x:0>3}' for x in range(10, 15)]
print(list3)    # ['010', '011', '012', '013', '014']

list4 = [x for x in range(10) if x % 2]
print(list4)

list5 = ['str' + str(x) for x in [10, 34, 15, 11, 78, 90, 99] if x % 2]
print(list5)    # ['str15', 'str11', 'str99']

nums = [23, 89, 67, 56, 10, 33]
list6 = [x % 10 for x in nums]
print(list6)    # [3, 9, 7, 6, 0, 3]

list7 = [f'{x}:{y}' for x in range(1, 5) for y in range(10, 14)]
print(list7)    # ['1:10', '1:11', '1:12', '1:13', '2:10', '2:11', '2:12', '2:13', '3:10', '3:11', '3:12', '3:13', '4:10', '4:11', '4:12', '4:13']


list8 = [f'{x}:{y}' for x in range(1, 5) for y in range(10, 14) if x % 2 and y % 2 ==0]
print(list8)    # ['1:10', '1:12', '3:10', '3:12']

运行结果:

[10, 10, 10, 10, 10]
[2, 4, 6, 8]
['010', '011', '012', '013', '014']
[1, 3, 5, 7, 9]
['str15', 'str11', 'str99']
[3, 9, 7, 6, 0, 3]
['1:10', '1:11', '1:12', '1:13', '2:10', '2:11', '2:12', '2:13', '3:10', '3:11', '3:12', '3:13', '4:10', '4:11', '4:12', '4:13']
['1:10', '1:12', '3:10', '3:12']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值