首页 > 编程语言 > 详细

Python学习笔记--2.5 列表生成式

时间:2018-10-05 18:22:56      阅读:175      评论:0      收藏:0      [点我收藏+]
如果想要生成一个list
res=[]#先定义一个空list
for i in range(1,34):#生产出来的是1到33。生成的是int类型。
res.append(str(i).zfill(2))#把生成的int类型转换成字符串。用zfill补成2位。存在res列表中。
print(res)

#for循环生成的是多个字符串,如果要生成列表还要重新定义,用列表生成式可以一行代码直接生成。
#上面代码可以改为:
res=[str(i).zfill(2) for i in range(1,34)]
print(res)
#打印结果也一样:[‘01‘, ‘02‘, ‘03‘, ‘04‘, ‘05‘, ‘06‘, ‘07‘, ‘08‘, ‘09‘, ‘10‘, ‘11‘, ‘12‘, ‘13‘, ‘14‘, ‘15‘, ‘16‘, ‘17‘, ‘18‘, ‘19‘, ‘20‘, ‘21‘, ‘22‘, ‘23‘, ‘24‘, ‘25‘, ‘26‘, ‘27‘, ‘28‘, ‘29‘, ‘30‘, ‘31‘, ‘32‘, ‘33‘]

说明:
res=[str(i).zfill(2) for i in range(1,34)]#这个的意思就是,先看后半段,循环1到33,生成给i。然后str(i).zfill(2),i转换成字符串,补成两位。也可以根据需要替换成对i的其他操作,加减乘除也可以。

例如:
l1=[i for i in range(10)] #生成0-9的整数。每次循环生成一个i,然后把i放入l1中。
print(l1)
#打印结果[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

l2=[i+1 for i in range(10)] #生成0-9的整数。每次循环生成一个i,然后把i+1放入l2中。
print(l2)
#打印结果[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

l3=[i+1000 for i in range(10)] #生成0-9的整数。每次循环生成一个i,然后把i+1000放入l3中。
print(l3)
#打印结果[1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009]


Python学习笔记--2.5 列表生成式

原文:https://www.cnblogs.com/youyou-luming/p/9745324.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!