ホームページ >バックエンド開発 >Python チュートリアル >リストを結合するときに「TypeError: list indices は str ではなく、整数またはスライスである必要があります」というエラーが発生するのはなぜですか?

リストを結合するときに「TypeError: list indices は str ではなく、整数またはスライスである必要があります」というエラーが発生するのはなぜですか?

DDD
DDDオリジナル
2024-11-16 08:46:02275ブラウズ

Why Am I Getting a

TypeError: リスト インデックスは整数またはスライスである必要があります

2 つのリストを 1 つの配列にマージしようとすると、「TypeError: list indices整数またはスライスでなければなりません。str ではありません」というエラーが発生する可能性があります。このエラーは、非整数値 (つまり、文字列) を使用してリスト項目にアクセスしようとしたことを示します。

提供されているコード サンプルでは、​​このエラーを解決するには次の調整が必要です。

  • array_length をinteger:
array_length = len(array_dates)

この行は、array_length に array_dates リストの長さを表す整数値が含まれていることを確認します。

  • のためにループ:
for i in range(array_length):

for ループでは、range 関数を使用して array_dates を反復する必要があります。これにより、反復ごとに i が自動的に増加します。

  • i = 1 行を削除します:
# 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。