Listede (string) bir öğeye erişmem, o maddeyi (dize olarak) değiştirmem ve listeye geri koymam gerektiğini bir önsezim var aynı endekspython, listeden ürüne geri dön, listeye geri kaydet
nedeniyle bu çizgiye
for item in list:
if "foo" in item:
item = replace_all(item, replaceDictionary)
list[item] = item
print item
şimdi bir hatayı
TypeError: list indices must be integers, not str
olsun aynı dizin içine geri bir öğe alma zorluğu yaşıyorum list[item] = item
anlamlıdır! ancak öğeyi python
ile aynı dizinde listeye nasıl geri koyacağımı bilmiyorum bunun için sözdizimi nedir?
for idx, item in enumerate(list):
if 'foo' in item:
item = replace_all(...)
list[idx] = item
Neden listede yer almak zorundasınız? Benim ilk tepkimem, bir liste anlama kullanmaktı: – krs1
, 'tüfe' öğesinde 'foo' öğesinde liste halinde öğe için 0 = [replace_all (öğe, replaceDictionary)], ancak bu kadar farklı mıdır? – CQM
Görebildiğim tek sorun, öğenin dizinini değil öğeyi kullanarak bir liste öğesine başvurmaya çalıştığınızdır. Bundan daha iyi görünüyor. Ayrıca, başvurmadan önce liste öğesini değiştiriyorsunuz. Sözlükler için bir sorun olabilir. – krs1