切片
l = [1, 2, 3, 4]
对应上面的问题,取前3个元素,用一行代码就可以完成切片:
>>> L[0:3]
L[0:3]
表示,从索引0
开始取,直到索引3
为止,但不包括索引3
既然Python支持L[-1]
取倒数第一个元素,那么它同样支持倒数切片
l[:]
复制一个列表
l[::2]
每隔两个取一个数
1、写循环的时候既可以用while也可以用if
迭代
通过for 循环来迭代列表或元祖,这种遍历我们称为Iteration
dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。
默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values()
,如果要同时迭代key和value,可以用for k, v in d.items()
。
可以用collections模块的Iterable类型判断是否可迭代
实现下标循环可以用python内置的enumerate函数把一个list编程索引-元素对:
>>> for i, value in enumerate(['A', 'B', 'C']):
... print(i, value)
...
0 A
1 B
2 C
列表生成式 List Comprehensions
要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
可以用list(range(1, 11))
:
可以运用表达式,来生成列表,生成式中也可以使用条件语句来进行筛选
可以使用两层循环来生成全排列:
>>> [m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']