TypeError: Indeks string harus diselesaikan bilangan bulat dalam python – Codewithaden

Rangkaian Indeks harus bilangan bulat. Ini berarti bahwa ketika Anda mendapatkan objek iterable seperti string, Anda harus melakukannya menggunakan nilai numerik. Jika Anda mengakses elemen dari a kamus , pastikan Anda mengakses kamus itu sendiri dan bukan kunci dalam kamus.

TypeError: Indeks string harus bilangan bulat

TypeError: Indeks string harus bilangan bulat menunjukkan bahwa kami berusaha mengakses nilai dari iterable menggunakan indeks string daripada indeks integer. Objek iterable diindeks menggunakan angka. Oleh karena itu, kesalahan akan dikembalikan ketika Anda mencoba untuk mendapatkan objek iterable menggunakan nilai string.

Di Python, kita dapat menggunakan bilangan bulat sebagai indeks untuk mengakses elemen daftar.

list = ["PS5", "Xbox Series X", "Nintendo Switch"]

print(list[1]) 

Ini adalah daftar string. Untuk mengakses item kedua dalam daftar ini, kita perlu merujuknya dengan nilai indeksnya, dan kita mendapatkan item.

Keluaran

Xbox Series X 

Kami tidak dapat mengakses item daftar ini menggunakan string. Kalau tidak, TypeError akan dikembalikan.

Ini bagus untuk daftar, tetapi mari kita buat kamus dan mengakses elemen -elemennya.

data = {
    "console": "PS5",
    "exclusive": "Spiderman Miles Morales",
    "genre": "Superhero"
} 

Mari kita lihat semua nilai dalam kamus ini dan mencetaknya.

for ele in data:
	print("Console Name: " + ele["console"])
	print("Exclusive Game: " + ele["exclusive"])
	print("The Genre is: " + str(ele["genre"])) 

Keluaran

Traceback (most recent call last):
  File "/Users/krunal/Desktop/code/pyt/database/app.py", line 13, in 
    print("Console Name: " + ele["console"])
TypeError: string indices must be integers 

Dan kami mendapatkan TypeError: Indeks String harus bilangan bulat. TypeError telah dinaikkan karena kami mencoba mengakses nilai dari kamus kami menggunakan indeks string alih -alih bilangan bulat.

Diselesaikan: Indeks string harus bilangan bulat.

Masalah utama dalam kode kami adalah bahwa kami mengulangi setiap kunci di “ data ” kamus. Nilai dari ” ELE “Selalu menjadi kunci dalam kamus. Ini bukan catatan di kamus kami. Mari kita coba mencetak ” ELE ”Dalam kamus kami.

data = {
    "console": "PS5",
	"exclusive": "Spiderman Miles Morales",
	"genre": "Superhero"
}


for ele in data:
	print(ele) 

Keluaran

console
exclusive
genre 

Anda dapat melihat bahwa kami mendapatkan kunci ke kamus. Kami tidak dapat menggunakan ” ELE ”Untuk mengakses nilai di kamus kami. ele [“konsol”] sama dengan nilai ” menghibur ” dalam ” ELE “, yang ” menghibur “. Ini tidak masuk akal bagi Python. Anda tidak dapat mengakses nilai dalam string menggunakan string lain.

Ke menyelesaikan TypeError: Indeks string harus bilangan bulat ; kita harus merujuk kamus kita alih -alih “ ELE “. Kami dapat mengakses elemen di kamus kami menggunakan string. Ini karena kunci kamus bisa menjadi string. Kami tidak membutuhkan file untuk loop untuk mencetak setiap nilai.

data = {
    "console": "PS5",
    "exclusive": "Spiderman Miles Morales",
    "genre": "Superhero"
}

print("Console Name: " + data["console"])
print("Exclusive Game: " + data["exclusive"])
print("Game Genre: " + (data["genre"])) 

Keluaran

Console Name: PS5
Exclusive Game: Spiderman Miles Morales
Game Genre: Superhero 

Dan kami berhasil mencetak setiap nilai di kamus kami. Ini karena kami tidak lagi mencoba mengakses kamus kami menggunakan nilai string di iterator (“ele”).

Itu untuk tutorial ini.

Lihat juga

Python ValueError

Python mengharapkan blok kesalahan indentasi

Python tidak dapat mengimpor nama

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *