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

如何在Python中创建无需预定义长度的数组,实现逆序存储CSV文件行?

你提供的测试代码运行会直接抛出IndexError,因为空列表不支持通过负索引直接赋值,只有列表中已存在对应索引位置的元素时,才能通过索引修改该位置的值。

认知纠正

Python列表的append()方法本身就是将新元素插入到数组的最后一位,并不是插入到首位,插入到列表首位的方法是insert(0, 元素)。Python内置的列表属于动态数组结构,无需预先指定长度,会自动根据存储的元素数量扩容,完全不需要提前获知CSV的总行数。


实现方案1:先顺序追加再反转(推荐)

该方案可读性更高,维护成本低,适合绝大多数场景:

from csv import reader

reverse_rows = []
with open("ccc.csv", "r", encoding="utf-8") as f:
    csv_reader = reader(f)
    for row in csv_reader:
        # 按读取顺序追加到列表末尾
        reverse_rows.append(row)
# 直接反转列表得到逆序结果
reverse_rows = reverse_rows[::-1]

实现方案2:读取时直接插入列表头部

不需要额外反转步骤,读完直接得到逆序结果:

from csv import reader

reverse_rows = []
with open("ccc.csv", "r", encoding="utf-8") as f:
    csv_reader = reader(f)
    for row in csv_reader:
        # 新读取的行插入列表首位,最终列表天然为逆序
        reverse_rows.insert(0, row)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:51:02