【发布时间】:2019-08-20 13:16:39
【问题描述】:
我在学习列表理解的过程中,偶然发现了一种我无法找到充分理解的资源的问题。
问题源于以下问题: 我们有一个数组 [1,2,3,8,9] 并希望创建一个表达式,它将每个奇数返回两次,而偶数只返回一次。
注意:还有一个提示是我可以创建嵌套列表,但到目前为止还没有帮助我确定这将如何为我服务。
相应算法的输出应该是:[1,1,2,3,3,8,9,9]
使用循环,我可以像这样做我想做的事:
OtherNumList = [1, 2, 3, 8, 9]
OtherNumList2 = []
for i in OtherNumList:
if i%2==1:
OtherNumList2.append(i)
OtherNumList2.append(i)
else:
OtherNumList2.append(i)
print(OtherNumList2)
我想只使用一个表达式来做到这一点,或者使用列表推导“单行”它。
我正在努力理解如何将理解设置为如果 X 则追加两次,而如果 Y 则追加一次。
感谢您对理解的帮助,即使只是构建理解的概念;我不期望一个勺子喂养的解决方案,如果你能引导我完成你的思考过程,我更喜欢它,这样我就可以更好地为将来更好的列表理解奠定自己的基础! :)
【问题讨论】:
标签: python arrays list list-comprehension