首页 > 后端开发 > Python教程 > 如何修复 Python 中的'TypeError:列表索引必须是整数或切片,而不是 Str”错误?

如何修复 Python 中的'TypeError:列表索引必须是整数或切片,而不是 Str”错误?

Susan Sarandon
发布: 2024-11-19 06:24:03
原创
1067 人浏览过

How to Fix the

TypeError: 列表索引必须是整数

错误“TypeError: 列表索引必须是整数或切片,而不是 str”尝试使用字符串索引而不是整数或切片来访问列表项。将两个列表合并为单个数组以进行 CSV 导出时,此错误很常见。

要避免此错误,请按照以下步骤操作:

  1. 转换第二个列表的长度(array_dates) 为整数,因为索引必须始终为整数。

    array_length = len(array_dates)
    登录后复制
  2. 使用 range 函数迭代新的 array_length 整数,该函数会自动递增迭代器值。

    for i in range(array_length):  # Use `xrange` for Python 2.
    登录后复制
  3. 从循环中删除 i = 1 行,因为它不再需要。

您还可以通过使用 zip 组合两个列表来简化代码,因为它们的长度相同:

result_array = zip(array_dates, array_urls)
csv_file.writerows(result_array)
登录后复制

这是更正后的代码:

def fill_csv(self, array_urls, array_dates, csv_file_path):
    array_length = len(array_dates)

    # We fill the CSV file
    with open(csv_file_path, "w") as file:
        csv_file = csv.writer(file, delimiter=';', lineterminator='\n')

        # We merge the two arrays in one
        result_array = []
        for i in range(array_length):
            result_array[i][0].append(array_urls[i])
            result_array[i][1].append(array_dates[i])

        csv_file.writerows(result_array)
登录后复制

以上是如何修复 Python 中的'TypeError:列表索引必须是整数或切片,而不是 Str”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板