我们都有过切蛋糕的经历,根据人数分成大致的几个份数,当然在大小方面可能稍微有些区别,毕竟手动切割不好把握。我们经常提到的函数同样也有切割的需求,具体的操作我们先来理解一下基础的切片,然后小编会给大家到来一个函数切割列表的实例进行体验,下面就让我们从切片学习开始入手吧。
在Python中,切片(slice)是对序列型对象(如list, string, tuple)的一种高级索引方法。普通索引只取出序列中一个下标对应的元素,而切片取出序列中一个范围对应的元素,这里的范围不是狭义上的连续片段。下面的代码初步展示了切片索引的力量。
>>> a = list(range(10)) >>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[:5] [0, 1, 2, 3, 4] >>> a[5:] [5, 6, 7, 8, 9] >>> a[2:8] [2, 3, 4, 5, 6, 7] >>> a[::2] [0, 2, 4, 6, 8] >>> a[::-1] [9, 8, 7, 6, 5, 4, 3, 2, 1, 0
给定具体的大小,定义一个函数以按照这个大小切割列表。
from math import ceil def chunk(lst, size): return list( map(lambda x: lst[x * size:x * size + size], list(range(0, ceil(len(lst) / size))))) chunk([1,2,3,4,5],2) # [[1,2],[3,4],5]
相信经过初步的切片学习,我们已经对于切片有了一个大概的了解,在函数切割列表的问题上也能很好地进行处理,没有学会的小伙伴可以多看看上面的代码。更多Python学习指路:PyThon学习网教学中心。