Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa saya mendapat ralat 'TypeError: senarai indeks mestilah integer atau kepingan, bukan str' semasa mengakses elemen senarai?

Mengapa saya mendapat ralat 'TypeError: senarai indeks mestilah integer atau kepingan, bukan str' semasa mengakses elemen senarai?

Barbara Streisand
Lepaskan: 2024-11-21 00:46:23
asal
793 orang telah melayarinya

Why am I getting the

TypeError: indeks senarai mestilah integer atau hirisan, bukan str

Ralat ini berlaku apabila cuba mengakses elemen senarai menggunakan rentetan sebagai indeks. Dalam kod anda, anda cuba mengakses elemen dalam result_array menggunakan i, iaitu rentetan yang mewakili panjang array_dates.

Penyelesaian:

Untuk menyelesaikan isu ini , anda perlu:

  1. Menukar array_length kepada integer:

    array_length = len(array_dates)
    Salin selepas log masuk
  2. Gunakan fungsi julat() untuk lelaran ke atas integer ke atas kepada array_length. Alih keluar kenaikan manual i.

    for i in range(array_length):
        # Your code here
    Salin selepas log masuk
  3. Sebagai alternatif, anda boleh zip senarai_tarikh_tatasusunan dan tatasusunan_url kerana mereka mempunyai panjang yang sama:

    result_array = zip(array_dates, array_urls)
    Salin selepas log masuk

Kemudian, tulis baris result_array ke fail CSV anda menggunakan kaedah writerows.

Contoh menggunakan kaedah zip():

import csv

def fill_csv(array_urls, array_dates, csv_file_path):
    csv_file_patch = '/path/to/filename.csv'

    with open(csv_file_patch, 'w') as fout:
        csv_file = csv.writer(fout, delimiter=';', lineterminator='\n')
        result_array = zip(array_dates, array_urls)
        csv_file.writerows(result_array)
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'TypeError: senarai indeks mestilah integer atau kepingan, bukan str' semasa mengakses elemen senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan