Python代码阅读(第70篇):删除列表一边的n个元素

2021-11-01  本文已影响0人  FelixZzzz

Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码

本篇阅读的代码实现了去除列表左边或者右边n个元素的功能。

本篇阅读的代码片段来自于30-seconds-of-python

drop

def drop(a, n = 1):
  return a[n:]

# EXAMPLES
print(drop([1, 2, 3])) # [2, 3]
print(drop([1, 2, 3], 2)) # [3]
print(drop([1, 2, 3], 42)) # []

drop函数接收一个列表,和一个拟删除元素数量n,返回删除左边指定数量元素后的列表。

函数使用分片的方法,直接从索引为n的元素(第n+1个元素)开始,返回新的列表。

drop_right

def drop_right(a, n = 1):
  return a[:-n]

# EXAMPLES
print(drop_right([1, 2, 3])) # [1, 2]
print(drop_right([1, 2, 3], 2)) # [1]
print(drop_right([1, 2, 3], 42)) # []

drop_right函数和上个函数类似,但是在分片的时候,使用了负数,a[:-n]相当于a[:len(a)-n],这样列表切片就会舍弃最右边的n个元素。

例如第一个示例drop_right([1, 2, 3])中,a = [1, 2, 3]len(a) = 3n = 1。函数返回a[:len(a)-n],即a[:2],即[1, 2]舍弃了右边n个元素。

上一篇下一篇

猜你喜欢

热点阅读