我必须反转列表中长度大于4的每个单词。因此,我尝试:

for word in words:
    if len(word) >= 5:
        word = word[::-1]

而且没有用。但是这个:
 for i in range(len(words)):
        if len(words[i]) >= 5:
            words[i] = words[i][::-1]

工作良好。有什么区别?

最佳答案

    word = word[::-1]

该单词未引用单词[i]。
您可以通过功能编程来做到这一点。
new_words = list(word[::-1] if len(word) >= 5 else word for word in words)

关于python - 遍历列表的两种方法-差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50301666/

10-16 12:54