一、切片
切片常用来取list、tuple或字符串的部分元素。
如一个list:
>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
切片用法如下:
1、从前往后取
取前3个元素:
>>> L[0:3]
['Michael', 'Sarah', 'Tracy']
L[0:3]表示,取索引0,1,2位置的3个元素。
如果第一个索引是0,可以这么写:
>>> L[:3]
取索引1,2位置的2个元素:
>>> L[1:3]
前10个数,每两个取一个:
>>> L[:10:2]
[0, 2, 4, 6, 8]
所有数,每5个取一个:
>>> L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]
只写[:]就可以原样复制一个list:
>>> L[:]
[0, 1, 2, 3, ..., 99]
2、从后往前取
最后一个元素索引为-1
取倒数第二个开始往后的元素,即后2个元素:
>>> L[-2:]
['Bob', 'Jack']
取倒数第二个元素:
>>> L[-2:-1]
['Bob']
3、tuple
tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple:
>>> (0, 1, 2, 3, 4, 5)[:3]
(0, 1, 2)
4、字符串
字符串’xxx’也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串:
>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[::2]
'ACEG'
二、迭代
通过for循环来遍历list或tuple的方法称为迭代(Iteration)。
Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。
dict就可以迭代:
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for key in d:
print(key)
a
c
b
阅读链接:Python教程