在列表中翻转单词

2024-09-26 22:53:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了以下工作:

mylist  = ['pencil', 'dog', 'memo', 'Hello']

我想翻转每个单词,如:

['licnep', 'god', 'omem', 'olleH']

我尝试了以下方法:

for word in mylist:
    word = word[::-1]

但是,上述方法不起作用。请解释一下


Tags: 方法inhellofor单词worddogmemo
3条回答

您应该使用另一个列表来保存更改,因为您不应该修改正在循环的同一个列表
因此,您可以按如下方式修复代码:

mylist  = ['pencil', 'dog', 'memo', 'Hello']
new_list = []

for word in mylist:
    word = word[::-1]
    new_list.append(word)

print(new_list)

达到相同目标的另一种方法是使用列表理解
在这种情况下,基本上会创建一个新列表,如下所示:

mylist  = ['pencil', 'dog', 'memo', 'Hello']
newlist = [word[::-1] for word in mylist]

print(new_list)

您的code的问题是您正在更改单词,但没有将其存储在当前列表中。若要更改当前列表,可以使用以下脚本

mylist  = ['pencil', 'dog', 'memo', 'Hello']

for word in range(len(mylist)):
    mylist[word] = mylist[word][::-1]
print(mylist)

输出

['licnep', 'god', 'omem', 'olleH']

实际上,上述方法并没有对实际列表进行更改。 试试这个:-

[word[::-1] for word in mylist]

输出:-

['licnep', 'god', 'omem', 'olleH']

相关问题 更多 >

    热门问题