Python代码疑问:为何upper/swapcase调用后列表元素未改变?
问题原因及解决方法
Python里的字符串是不可变类型,upper()、swapcase()这类字符串方法不会修改原字符串本身,而是生成并返回一个新的字符串对象。你只是调用了这些方法,但没有把返回的新字符串重新赋值给列表对应的元素,所以原列表的内容完全没变化。
修正后的代码示例
three_words = ["Ant", "Run", "Worm"] print(three_words) # 将方法返回的新字符串赋值回列表元素 three_words[0] = three_words[0].upper() three_words[2] = three_words[2].swapcase() print(three_words)
运行这段代码后,输出会变成:
['Ant', 'Run', 'Worm'] ['ANT', 'Run', 'wORM']
这样就实现了你想要的修改效果。
内容的提问来源于stack exchange,提问作者user19505926
相关产品推荐
相关产品推荐

