Liste indeksleriyle ilgili bir problem

kw = [‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’,
‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’,
‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’,
‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]

for i in keyword.kwlist:
if keyword.kwlist[i] == kw[i]:
continue
else:
print(keyword.kwlist[i])
i = i + 1

kw ve keyword.kwlist birer liste arkadaşlar. kw 33 keyword.kwlist ise 35 öğeye sahip. keyword.kwlist değişken olarak kullanılamayan atomların bulunduğu bir liste kw ise keyword.kwlist’in eski bir hali ben sonradan eklenen 2 atomu bir döngü içinde aratarak printle yazdırmaya çalıştım ama aşağıdaki hatayı alıyorum. i zaten integer değil mi ? başına i = 0 diyerek de yaptım olmadı.

Traceback (most recent call last):
File “C:/Uygulamalar/Python Beginner/26_String ve type.py”, line 42, in

if keyword.kwlist[i] == kw[i]:

TypeError: list indices must be integers or slices, not str

i sayı değil. For döngüsü sebebiyle her başa döndüğünde kwlist listesinden sıradaki öğeyi alır. Sorunu çözmek için while döngüsü kullanın.

2 Beğeni

for döngüsüne while döngüsü gibi müdehale etmişsin .
for da i artırılmaz