网站关键词快排名,茌平网站建设道气钻,江门住房和城乡建设部网站,免费工程项目分包平台python笔记21-列表生成式
前言
python里面[]表示一个列表#xff0c;快速生成一个列表可以用range()函数来生成。 对列表里面的数据进行运算和操作#xff0c;生成新的列表最高效快速的办法#xff0c;那就是列表生成式了。
range()
1.一个连续的数字类型列表#xff0…python笔记21-列表生成式
前言
python里面[]表示一个列表快速生成一个列表可以用range()函数来生成。 对列表里面的数据进行运算和操作生成新的列表最高效快速的办法那就是列表生成式了。
range()
1.一个连续的数字类型列表比如[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],可以用range生成
# coding:utf-8# a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]b range(1, 11)
print(b) # 结果 range(1, 11)
print(type(b))
print(list(b)) # 转list
2.python3直接打印b会显示range(1, 11)对象并不是直接显示应该列表如果想显示列表可以用list()转下 列表生成式
1.如果想对列表里面的数据进行运算后重新生成一个新的列表如[11, 22, 33 ... 1010],按平常思维就是先定义一个列表c然后for循环挨个运算算完了再append添加到c,最后c就是新的列表了
# 对列表数平方b range(1, 11)
c []
for i in b:c.append(i*i)
print(c)# 结果[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
2.接下来看看用列表生成式如何去实现
# 对列表数平方b range(1, 11)
c [x*x for x in b]
print(c)# 结果[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 3.列表生成式语法是固定的[]里面for 前面是对列表里面数据的运算操作后面跟平常for循序一样遍历去读取。运行后会自动生成新的列表
带if判断
1.如果想对一个列表里面的数据筛选比如[1, 3, -3, 4, -2, 8, -7, 6],找出大于0的数按正常思维可以for循环挨个判断符合条件的放到新的列表
c [1, 3, -3, 4, -2, 8, -7, 6]
d []
for i in c:if i 0:d.append(i) # 添加到列表d
print(d)# 结果[1, 3, 4, 8, 6]
2.接下来可以看看列表生成式写出更加简洁优雅的代码快速高效
# 提取大于0的数
c [1, 3, -3, 4, -2, 8, -7, 6]
d [x for x in c if x 0]
print(d)# 运行结果[1, 3, 4, 8, 6]多个参数
1.前面列表生成式都只传一个参数x,如果有两个列表如何去运算呢? a [1, 2, 3, 4, 5] b [a, b, c, d, e] 如何得出c [a1, b2, c3, d4, e5]
# coding:utf-8a [1, 2, 3, 4, 5]
b [a, b, c, d, e]# 多个参数列表生成式
c [str(x)str(y) for x, y in zip(b, a)]
print(c)# 结果[a1, b2, c3, d4, e5] 2.列表生成式的语法是非常优雅的学会了可以少写很多代码。理解起来也并不难多联系几次就能熟练掌握了。
参考自https://www.cnblogs.com/yoyoketang/p/9274362.html