写点什么

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

作者:Felix
  • 2021 年 12 月 20 日
  • 本文字数:448 字

    阅读完需:约 1 分钟

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

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


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


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

drop

def drop(a, n = 1):  return a[n:]
# EXAMPLESprint(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]
# EXAMPLESprint(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个元素。

发布于: 2 小时前阅读数: 5
用户头像

Felix

关注

没有看点,仅仅闲聊。欢迎关注“没看点” 2018.05.04 加入

欢迎关注个人公众号:没看点 个人主页:www.zhangfelix.com

评论

发布
暂无评论
Python代码阅读(第70篇):删除列表一边的n个元素