向列表中的字符串添加字符 Python3

Adding characters to a string in a list Python3

提问人:Alexander Beam Student 提问时间:9/26/2023 最后编辑:Diego BorbaAlexander Beam Student 更新时间:9/27/2023 访问量:35

问:

我试图将字符添加到我的列表中,但编译器抛出了这个错误:

TypeError: list indices must be integers or slices, not tuple
    arr[i] += 'ma'

这是我的完整代码:

arr = ["Hello", "Hi", "Greetings"]
vowels = ['a', 'e', 'i', 'o', 'u']

for i in enumerate(arr):
    if [i[1]] in vowels:
        arr[i] += 'ma'
    else:
        arr = list(map(lambda i: i[1:], arr))
        arr[i] += 'ma'

我尝试使用 enumerate() 标签,但它仍然不起作用。

Python 字符串 列表

评论

0赞 Diego Borba 9/26/2023
什么?vowels
0赞 Daviid 9/26/2023
enumerate() 返回一个包含 (index, current_element) 的元组,因此枚举返回['a','b','c'][(0,'a'), (1,'b'), (2,'c')]
0赞 Daviid 9/26/2023
您可能还想做for i in range(len(arr))

答:

1赞 Diego Borba 9/26/2023 #1

正如@Daviid所说:

enumerate() 返回一个包含 (index, current_element)...

因此,您应该在代码中考虑这一点:

arr = ["Hello", "Hi", "Greetings"]
vowels = ['a', 'e', 'i', 'o', 'u']

for i, word in enumerate(arr):
    if word[0].lower() in vowels:
        arr[i] += 'ma'
    else:
        arr[i] = word[1:] + 'ma'