list1 = ['Ganga', 'Narmada', 'Kaveri', 'Tapi', 'Yamuna']
sum1 = 0
for i in list1:
for j in list1[i]:
sum1 += ord(int(j))
list1.replace(i, sum1)
print(list1)
我想用添加特定字符串的每个字符的ascii值来替换list1的每个字符串。例如,代替"Ganga",我想打印(('G'的ASCII值(+('a'(的ASCII值+('n'(的ASCII+('G'(的ASCII值+('a''(的ASC II值(,从而为每个字符串打印。
我如上所述尝试,但在行中出现错误
对于list1[i]中的j为"TypeError:列表索引必须是整数或切片,而不是str">
我知道为什么会出现错误,但不知道如何解决。谁能帮我解决这个错误吗。
任何形式的帮助都将不胜感激。
提前感谢
如果你想迭代list1
中每个字符串的字符,你必须这样做
for string in list1:
for char in string:
...
在您的代码中,i
变量将取值'Ganga'
、'Narmada'
等。这些确实是而不是索引,您不能执行list1['Ganda']
。因此,您的TypeError
。
因为写for x in xs
不会给你索引,而是给xs
的项目,例如
for x in ('foo', 'bar', 'baz'):
print(x)
将打印
foo
bar
baz