小编Dee*_*Kay的帖子

列表理解一次将奇数加两次

我正在学习列表理解的过程,偶然发现一种无法找到足够理解资源的问题。

问题源于以下问题:我们有一个数组[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)
Run Code Online (Sandbox Code Playgroud)

我只想使用一个表达式来执行此操作,或者使用列表推导来“单行”执行此操作。

我正在努力理解如何将理解力设置为如果X追加两次,而如果Y追加一次。

非常感谢您的帮助,即使您只是理解理解的概念;我不希望采用汤匙喂食的解决方案,如果您可以引导我完成自己的思考过程,以便将来能更好地为自己的列表理解打下更好的基础,我宁愿选择它。:)

python arrays list-comprehension list

7
推荐指数
1
解决办法
81
查看次数

标签 统计

arrays ×1

list ×1

list-comprehension ×1

python ×1