使用列表反转Python中的单词

-1 投票
1 回答
1840 浏览
提问于 2025-04-18 07:46

我需要写一个函数,它接收一个像这样的列表:
[d,o,g] --> 每个字符都有一个位置。
然后这个函数的返回结果是把这个单词反过来写。
到目前为止,我有了这个:

def invertido(x):
    largo= len(x)
    for i in range (0, largo/2):
        x[i] = x[largo -i]
    print x

但是我遇到了一个错误:TypeError: 'str'对象不支持项赋值

1 个回答

2

你可以直接用Python中的索引语法来实现这个功能。试试下面的代码:

word_inverted = word[-1::-1]

这段语法的意思是“从word的最后一个字母开始(索引-1),每次向前移动一个字母(最后的-1表示这个),然后遍历这个单词中的所有字母(中间的::表示这一点)”。

一般来说,你可以用array[first:last:step]的语法来索引一个数组(字符串其实就是字符的数组)。这里的first是你想要的第一个元素,last是你不想要的第一个元素(也就是说,你得到的最后一个元素是last之前的那个),而step是你每次想移动的步长。

你还可以用一些快捷方式来获取从单词开头到last的所有字母,写作array[:last:step];从first到结尾的所有字母,写作array[first::step];以及以某个间隔step获取所有字母,写作array[::step]。最后,如果你给step一个负值,那么你就会反向遍历这个数组。

撰写回答