python 把一个列表分成等长的多个列表

实际上是想把一个列表按照步长为3 分成多个单元,

比如下面的列表

python 把一个列表分成等长的多个列表_第1张图片

使用切片,步长为3的切,效果并不好,不知道为什么,

python 把一个列表分成等长的多个列表_第2张图片

虽然切出来了,但切出来的列表,长度还是93

还是干脆用numpy ,reshape一下。

python 把一个列表分成等长的多个列表_第3张图片

 

目前没有其他的方法,留着以后再多学习吧

更加高逼格的做法是这样

python 把一个列表分成等长的多个列表_第4张图片

 

所以 iter 函数,就是一个生成器,迭代器,会默认把一个可迭代对象一一输出,不过要制定出 输出的个数,

比如下面的代码;

python 把一个列表分成等长的多个列表_第5张图片

所以 list出来就是原来的a

这个原来的列表没什么区别,但是,这个实现了类似于for循环,一次次的输出列表的元素。

*号暂时没有什么理解,我认为,应该就是类似于一个个遍历吧,如果遍历不指定步长,那么就一个个遍历,

如果指定步长,就按步长遍历。

python 把一个列表分成等长的多个列表_第6张图片

zip 就是把 按照步长遍历的 元素压缩成一个, 这里,直接压缩,而不是, 中间的逗号,还可以指定其他的可迭代元素,一起压缩,比如。

python 把一个列表分成等长的多个列表_第7张图片

 

这种操作比较方便生成数字加字幕组合的列表。

python 把一个列表分成等长的多个列表_第8张图片

区别与直接list,这里可以指定步长。

这是看的一篇高手的网页,参考了一下。地址:https://www.cnblogs.com/zxpo/p/11844220.html

 

 

你可能感兴趣的:(python,python,列表,numpy)