开发者学堂课程【Python 入门 2020年版:列表推导式练习】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10306
列表推导式练习
内容介绍
一、源于 if 的补充
二、列表推导式练习
一、关于 if 的补充
在使用列表推导式的时候,如果要添加 if 语句直接在后面添加即可。但如果 if 之后还有其他的语句就不建议再使用列表推导式,太过于复杂。
二、列表推导式练习
根据题意先使用列表推导式生成含有1到100数值的列表 m。之后我们需要将其变成三个为一组的形式。
n= [m[j:j+ 3] for j in range(0,100)]其中 n 为列表,m[j:j+ 3]为列表中的元素,即对 m 进行切片。
当 j=0时,对 m[0:3]切片得到[1,2,3];j=1时,对 m[1:4]切片得到[2,3,4,]依次类推,但是并未实现 m 每三个数为一组。
只需在 range 中添加3,变为 n= [m[j:j+ 3] for j in range(0,100,3)],即 j会从0开始每次加3的递增下去,因此 j=0,m[0:3]切片;j=1,m[3:6]切片,结果则满足题意要求。
- 题目:
#了解即可
#请写出一段 Python 代码实现分组一个 list里面的元素,比如[1,2,3....100]变成[[1,2,3],[4,5,6]..….]
- 代码
m=[ i for i in range(1,101)] //生成1到100的列表 m
print(m)
n= [m[j:j+ 3] for j in range(0,100,3)]
//生成切片后生成的新列表 n,j会每次递增3,即第一次切片从 m[0:3],第二次从 m[3:6]依次递增,将 m 变成每三个数为一组。
print(n)