“专业人士笔记”系列目录:
创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com利用第三个参数:步长step
lst = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
a=lst[::2] #第三个参数,2为步长
print(a)
# 输出: ['a', 'c', 'e', 'g']
#lst[::2]中,前两个参数是空,表明不限制截取的开始和结束索引,第三个参数表明每隔2个取一个数
b=lst[::3]
print(b)
# 输出: ['a', 'd', 'g']
#同上
从列表中选取子列表
lst = ['a', 'b', 'c', 'd', 'e']
lst[2:4]
# ['c', 'd']
# 注意:列表索引从0开始,并且截取时不包含第2个参数(结束索引)本身的值
lst[2:]
#: ['c', 'd', 'e']
#不限制结束长度
lst[:4]
# ['a', 'b', 'c', 'd']
#不限制截取开始的索引
用切片反转列表
a = [1, 2, 3, 4, 5]
#从后往前遍历列表的step参数(step=-1)
b = a[::-1]
#内置列表方法来反转'a'
a.reverse()
if a = b:
print(True)
print(b)
#输出:
True
#两个列表都输出:[5, 4, 3, 2, 1]
用切片移动列表
#自定义列表移动函数
def shift_list(array, s):
""" 将列表的元素向左或向右移动
参数:
list - 需要移动的list
s - 需要移动的偏移量 ('+': 右移, '-': 左移)
返回:
list对象 - 偏移后的list
"""
#计算需要的实际偏移量, 例如,如果数组长度为5,需要位移的数量为11,则实际需要位移的数量是 11%5,取模后得1,之所以取模是因为我们只需获取真正要偏移的量即可,重复位移没有意义 )
s %= len(array)
# 反转移位方向,使其更直观
s *= -1
# 利用列表切片进行位移
shifted_array = array[s:] + array[:s]
return shifted_array
####### 函数定义结束
####### 开始函数调用
my_array = [1, 2, 3, 4, 5]
#传入负值 ,即左移7
shift_list(my_array, -7)
# [3, 4, 5, 1, 2] 比如:其中的元素7,位置向左移动7位后到了倒数第2索引
# 对传入等于数组大小的数字不进行移位
shift_list(my_array, 5)
# [1, 2, 3, 4, 5]
#传入正数,即右移3
shift_list(my_array, 3)
# [3, 4, 5, 1, 2]
今天的分享就到这里,禁止转载,违者必究