首页 >后端开发 >Python教程 >为什么我在合并列表时收到'TypeError:列表索引必须是整数或切片,而不是 str”错误?

为什么我在合并列表时收到'TypeError:列表索引必须是整数或切片,而不是 str”错误?

DDD
DDD原创
2024-11-16 08:46:02277浏览

Why Am I Getting a

TypeError:列表索引必须是整数或切片

尝试将两个列表合并到单个数组时,出现“TypeError:列表索引必须是整数或切片,而不是 str” 错误可能会发生。此错误表示尝试使用非整数值(即字符串)访问列表项。

在提供的代码示例中,需要进行以下调整才能解决此错误:

  • 将 array_length 转换为整数:
array_length = len(array_dates)

此行确保 array_length 包含表示 array_dates 列表长度的整数值。

  • 在for 循环:
for i in range(array_length):

for 循环应该使用 range 函数来迭代 array_dates。这将在每次迭代期间自动增加 i。

  • 删除 i = 1 行:
# Remove this line
# i += 1

因为 i 会根据范围自动增加, i = 1 行是不必要的,应该删除。

替代方案方法:使用 zip 函数

或者,您可以使用 zip 函数来组合两个列表,因为它们具有相同的长度:

import csv

dates = ['2020-01-01', '2020-01-02', '2020-01-03']
urls = ['www.abc.com', 'www.cnn.com', 'www.nbc.com']

csv_file_path = '/path/to/filename.csv'

with open(csv_file_path, 'w') as fout:
    csv_file = csv.writer(fout, delimiter=';', lineterminator='\n')
    result_array = zip(dates, urls)
    csv_file.writerows(result_array)

以上是为什么我在合并列表时收到'TypeError:列表索引必须是整数或切片,而不是 str”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn