Python代码阅读(第52篇):返回列表的头部和尾部

134 阅读1分钟

Python代码阅读(第52篇)_返回列表的头部和尾部-cover.jpg

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

本篇阅读的代码实现了返回除了最后一个以外,列表所有元素;以及返回除了第一个以外,列表所有元素的功能。

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

initial

def initial(lst):
  return lst[0:-1]

# EXAMPLES
initial([1, 2, 3]) # [1,2]

initial函数接收一个列表,返回去除最后一个元素的新列表。

函数使用列表切片来获取新列表。在形如s[i:j]的列表切片中,如果ij为负值,则索引顺序是相对于序列s的末尾: 索引号会被替换为len(s) + ilen(s) + j。 但要注意-0仍然为0

tail

def tail(lst):
  return lst[1:] if len(lst) > 1 else lst

# EXAMPLES
tail([1, 2, 3]) # [2,3]
tail([1]) # [1]

相对应的函数tail一样使用列表切片的方式提取新列表。这里的用法比较常见,就是从索引1开始进行切片即可。需要注意的是,如果原列表的长度等于1,该函数返回原列表。