python 取数组最后3项

举报
林欣 发表于 2025/11/21 17:40:50 2025/11/21
【摘要】 在 Python 中,你可以使用切片(slice)来获取数组(列表)的最后 3 项。以下是几种常见的方法: 方法 1:使用负数索引arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]last_three = arr[-3:] # 从倒数第3项到末尾print(last_three) # 输出: [7, 8, 9] 方法 2:使用 len() 计算索引arr = [1, 2,...

在 Python 中,你可以使用切片(slice)来获取数组(列表)的最后 3 项。以下是几种常见的方法:

方法 1:使用负数索引

arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
last_three = arr[-3:]  # 从倒数第3项到末尾
print(last_three)  # 输出: [7, 8, 9]

方法 2:使用 len() 计算索引

arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
last_three = arr[len(arr)-3:]  # 等价于 arr[-3:]
print(last_three)  # 输出: [7, 8, 9]

方法 3:使用 slice 对象(适用于复杂场景)

arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
last_three = arr[slice(-3, None)]  # None 表示到末尾
print(last_three)  # 输出: [7, 8, 9]

注意事项

  1. 数组长度不足 3 时

    • 如果数组长度小于 3,切片会返回整个数组,不会报错。
    arr = [1, 2]
    print(arr[-3:])  # 输出: [1, 2]
    
  2. 空数组

    • 如果数组为空,切片会返回空列表。
    arr = []
    print(arr[-3:])  # 输出: []
    

完整示例代码

def get_last_three_items(arr):
    return arr[-3:]

# 测试
test_cases = [
    [1, 2, 3, 4, 5, 6, 7, 8, 9],  # 正常情况
    [1, 2],                       # 长度不足3
    [],                           # 空数组
    ["a", "b", "c", "d"]          # 非数字数组
]

for arr in test_cases:
    print(f"数组: {arr}, 最后3项: {get_last_three_items(arr)}")

输出结果

数组: [1, 2, 3, 4, 5, 6, 7, 8, 9], 最后3: [7, 8, 9]
数组: [1, 2], 最后3: [1, 2]
数组: [], 最后3: []
数组: ['a', 'b', 'c', 'd'], 最后3: ['b', 'c', 'd']

总结

  • 推荐方法:直接使用 arr[-3:],简洁高效。
  • 边界情况:无需额外处理,Python 切片会自动处理数组长度不足或为空的情况。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。