切片
通常我们取list里面的元素会这样写
1 | list = ['zhangsan','lisi','wangwu'] |
但是这样用循环很麻烦,可以这样做
1 | list[0:3] #这样取的是从0开始,往后数3个数 |
迭代
如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代。在Python中,迭代是通过for … in来完成的
在Python不是都是迭代的,所以有时候需要判断是否可以迭代
1 | from collections import Iterable |
列表生成式
列表生成式是Python中内置的非常简单却非常强大的可以用来创建list的生成式。
例如要生成list [1,2,3,4,5,6,7,8,9]
,可以用list(range(1,10))
但如果要生成[1x1, 2x2, 3x3, …, 10x10]怎么做?
方法一是循环:
1 | L = [] |
方法二:列表生成式
1 | [x * x for x in range(1,10)] |
列表生成式还有其他的用法
*在for循环后面加if判断语句
例如:仅偶数的平方
1 | [x * x for x in range(1,11) if x % 2 == 0 ] |
*使用两层循环,生成全排列
1 | [m + n for m in 'ABC' for n in 'XYZ'] |
举例
判断是否可以迭代,在用列表生成式
1 |
|
注:文章是在廖雪峰大大的网站学习后写下的学习摘要。
原文链接: http://yoursite.com/2018/10/31/Python基础学习-切片、迭代、列表生成式/
版权声明: 转载请注明出处.