Python成为专业人士笔记–List列表截取(切片)

“专业人士笔记”系列目录:

创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!

利用第三个参数:步长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]         
      

今天的分享就到这里,禁止转载,违者必究

猜你喜欢

转载自blog.csdn.net/oSuiYing12/article/details/106211775