【问题标题】:Python 3.8: for loop goes infinitePython 3.8:for 循环无限
【发布时间】:2020-06-16 10:17:47
【问题描述】:

我有一个包含字符串作为元素的列表。它们都是小写的。我想修改列表,以便该列表还包含第一个字母的大写字符串。 我写了这个 for 循环:

> words = ["when", "do", "some", "any"]     
with_title_words = words
> 
>     for u in words:
>         u.title()
>         with_title_words.append(u)
>     print(with_title_words)

当我执行时它会无限。它输出所有以大写字母开头的字符串元素。

【问题讨论】:

标签: python-3.x for-loop infinite-loop


【解决方案1】:
words = ["when", "do", "some", "any"]
with_title_words = words[:]

for word in words:
    with_title_words.append(word.title())

print(with_title_words)

输出:

['when', 'do', 'some', 'any', 'When', 'Do', 'Some', 'Any']

或创建一个空列表word_title_words = [] 以仅添加标题字符串。

【讨论】:

  • word[:]中的分号是什么意思?以前没见过
  • 切片表示法。在此示例中,[:] 复制列表而不是引用它。
猜你喜欢
  • 1970-01-01
  • 2021-02-02
  • 1970-01-01
  • 2018-12-01
  • 2018-02-16
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
  • 1970-01-01
相关资源
最近更新 更多