Python代码阅读宝典简介:为什么不建议Python初学者直接看项目源码?数函数。本文阅读的代码片段来自30-seconds-of-python。offsetdefoffset(lst,offset):returnlst[offset:]+lst[:offset]#EXAMPLESoffset([1,2,3,4,5],2)#[3,4,5,1,2]偏移量([1,2,3,4,5],-2)#[4,5,1,2,3]offset函数接收一个listlst和一个offset偏移量,根据offset偏移量list返回offset的。当偏移量为正时,向左移动;当偏移量为负时,向右移动。函数利用列表的切片功能,将原列表按照偏移量分成两个新列表,按照新的顺序在偏移量后组合成一个新列表。当offset为正时,lst[offset:]表示从下标offset到链表尾部的切片;lst[:offset]表示从列表开头到下标偏移量之前的元素的切片。因为列表下标是从0开始计数的,所以将列表的第一个offset元素移到列表末尾,列表向左移动offset个位数。当offset为负数时,lst[offset:]表示从链表尾部的最后一个offset元素到链表尾部的切片;lst[:offset]表示从列表开头到列表末尾offset元素的切片元素的切片。也就是说,当offset为负时,表示从链表尾部算起的最后一个offset元素,其他与offset为正时相同。因此,将列表的最后一个offset元素移到列表的开头,并将列表向左移动offset个位数。
