高级特性
切片
如取list L中的前3个元素
L[0:3]
即取L[0]、L[1]、L[2]三个元素
0可以省略,即
L[:3]
可以倒数切片
L[-2:]
L[-2:-1]
取前10个数
L[:10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
和后十个数
L[-10:]
[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
前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]
逆序输出
L[::-1]
map/reduce
map
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
reduce
reduce把一个函数作用在一个序列[x1, x2, x3, …]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
转载自廖雪峰的博客https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014318230588782cac105d0d8a40c6b450a232748dc854000