ホームページ >バックエンド開発 >Python チュートリアル >リストを結合するときに「TypeError: list indices は str ではなく、整数またはスライスである必要があります」というエラーが発生するのはなぜですか?
TypeError: リスト インデックスは整数またはスライスである必要があります
2 つのリストを 1 つの配列にマージしようとすると、「TypeError: list indices整数またはスライスでなければなりません。str ではありません」というエラーが発生する可能性があります。このエラーは、非整数値 (つまり、文字列) を使用してリスト項目にアクセスしようとしたことを示します。
提供されているコード サンプルでは、このエラーを解決するには次の調整が必要です。
array_length = len(array_dates)
この行は、array_length に array_dates リストの長さを表す整数値が含まれていることを確認します。
for i in range(array_length):
for ループでは、range 関数を使用して array_dates を反復する必要があります。これにより、反復ごとに i が自動的に増加します。
# Remove this line # i += 1
i は範囲によって自動的に増加するため、 i = 1 行は不要なので削除する必要があります。
代替案アプローチ: zip 関数を使用する
または、同じ長さの 2 つのリストを結合するために 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: list indices は str ではなく、整数またはスライスである必要があります」というエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。