不得劲别对付 发表于 2024-1-13 20:29:27

python经典有序序列的list列表推导式

生成一个数据列表
# 初始化一个列表
list_1 = []

# 使用循环生成一个列表数据
for val in range(0,20,1):
    # 加入集合
    list_1.append(val)

# 打印列表数据
print(list_1)
# 使用列表推导式生成该数据列表
# 列表推导式生成列表数据
list_2 =

# 打印列表数据
print(list_2)
# 分析:
1、使用一行代码的列表推导式就完成了该列表的生成
2、,第一个i元素代表向列表list_2中添加的元素
3、,第二个i元素代表for循环遍历的i元素
使用列表推导式生成只有偶数的数据列表
# 在基本列表推导式的基础上加入条件判断
list_3 =

# 打印列表推导式
print(list_3)
# 分析:
,第三个if后面的i元素,相当于是在for循环内部提取其中的i元素作条件校验。
双重循环的列表推导式
# 既然是双重循环则需要定义两个变量a、b
list_4 = [(a,b) for a in range(4) for b in range(5)]
#学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
# 由于打印结果是列表中包含元组信息,使用pprint可以美观的打印数据
from pprint import pprint

# 打印列表推导式
pprint(list_4)
# [(0, 0),
#(0, 1),
#(0, 2),
#(0, 3),
#(0, 4),
#(1, 0),
#(1, 1),
#(1, 2),
#(1, 3),
#(1, 4),
#(2, 0),
#(2, 1),
#(2, 2),
#(2, 3),
#(2, 4),
#(3, 0),
#(3, 1),
#(3, 2),
#(3, 3),
#(3, 4)]分析:
其中a、b分别对应第一个和第二个for循环的遍历元素a、b,同样可以加入a、b元素的条件校验,比如可以写成如下的列表推导式
list_5 = [(a,b) for a in range(4) if a % 2 == 0 for b in range(5) if b % 2 == 0]
来源:https://www.cnblogs.com/xxpythonxx/p/17962514
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: python经典有序序列的list列表推导式