You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中根据索引打印列表的指定元素

报错原因

你注释的print(items[5,6,7])无法运行,是因为Python原生列表不支持直接传入多个索引批量取值,这种写法会把5,6,7解析为元组,而列表不支持元组类型的索引,只有NumPy数组这类扩展结构才支持类似的花式索引写法。

实现方法

根据你的索引是否连续,选对应写法即可:

  • 索引连续时直接用列表切片。Python切片遵循左闭右开规则,要取索引为5、6、7的三个元素,切片结束位置要写8。在切片结果前加*可以把列表拆分为独立的位置参数传给print,输出效果和你之前写print(items[5],items[6])完全一致:
# 取索引5、6、7的连续元素
print(*items[5:8])
  • 索引不连续时(比如需要取2、5、9这类间隔的索引),可以遍历你指定的索引列表取出对应元素,再拆包传给print,这种写法连续/不连续索引都通用:
# 自定义需要打印的目标索引
target_ids = [5,6,8,10]
print(*(items[i] for i in target_ids))
  • 如果需要频繁批量取多索引元素,可以用标准库operator的itemgetter方法,性能比手写遍历更优:
from operator import itemgetter
print(*itemgetter(5,6,7)(items))
读文件注意点

你当前的读文件逻辑会保留每一行末尾的换行符\n,如果打印时发现元素之间多出意外空行,可以在追加元素时只移除行尾的换行符,不破坏行内容本身的前后空格:

items = []
with open('input.txt') as input_file:
    for line in input_file:
        items.append(line.rstrip('\n'))

# 按需打印对应索引元素即可
print(*items[5:8])

内容的提问来源于stack exchange,提问作者noidea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 02:57:07