python - 如何在直接索引列表时使用for循环和upper()将列表中的所有元素转换为大写?
问题描述
我是 python 新手,所以这可能非常简单。
我正在尝试遍历列表并将每个元素转换为大写。我知道这有效:
word_list = ['alt', 'mach', 'time']
for i in range(0, len(word_list)):
word_list[i] = word_list[i].upper()
但我也知道您可以直接索引列表(不使用范围),但我不确定如何将其应用于这种情况。我试过这个:
word_list = ['alt', 'mach', 'time']
for i in word_list:
i = i.upper()
但是当我之后打印列表时,它并没有改变。我怀疑这是因为无论如何我都在更改每个循环,我不能将它分配给我正在尝试做的事情。在直接索引列表时是否有其他方法可以做到这一点?
解决方案
并不真地。正如我认为你意识到的那样,i = i.upper()
只是重新分配i
给一个新字符串,并不会改变列表中的内容。
您可以做的最好的事情是使用enumerate
为您提供元素和索引:
for i, word in enumerate(word_list):
word_list[i] = word.upper()
推荐阅读
- java - 使用 JNA 获取本地机器证书
- javascript - 使用带有 jQuery UI 的效果时,早期的 DOM 元素不会隐藏
- angular - 在属性上使用输入和输出装饰器时获取事件对象
- javascript - Jasmine 单元测试:错误:找不到模块“parser.js”
- node.js - Chrome 在终端中打开或由 webriver 运行时不呈现字体
- c# - Visual Basic 中的数据库连接和填充列表框
- ruby-on-rails - 我的 Rails 应用程序返回 500,但我在日志中看不到任何详细信息
- rust - 我怎样才能接受可以被`..`切片的任意容器?
- azure - [Azure Web Sever + Unity]:身份验证问题
- php - 带有 Recaptcha v2 的 PHP 表单 - 无需提交即可刷新表单