首页 > 解决方案 > 如何将列表从对偶数和奇数说真/假更改为简单地对每个数字说偶数或奇数?

问题描述

我的规格是:

  • 创建一个名为 的空列表to_ten
  • 接下来,编写一个 for 循环,使用该函数遍历从 1 到 10 的数字range(),并将该数字是偶数还是奇数附加到列表中。

您最终应该得到一个包含 10 个元素的列表,其中每个条目是偶数或奇数。

这是我的代码:

to_ten = []
for x in range(11):
    to_ten.append(x%2==0)
to_ten

到目前为止,无论它们是偶数还是奇数,我都得到了正确的结果,但它给了我真/假,而不是简单地为列表中的每个数字说偶数/奇数。

标签: pythonempty-list

解决方案


几乎拥有它,你只需要:

  • 意识到从1到迭代10涉及从一个开始;和
  • 在列表中插入你想要的而不是布尔值。

例如:

to_ten = []
for x in range(1, 11):
    to_ten.append('even' if x % 2 == 0 else 'odd')
print(to_ten)

这给出了:

['odd', 'even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd', 'even']

当然,Pythonic 方式几乎总是使用列表理解,尽管您的规范清楚地要求附加到一个最初为空的列表,所以我不会使用它(但是很高兴知道它):

to_ten = ['even' if x % 2 == 0 else 'odd' for x in range(1, 11)]

推荐阅读