python - 如何使用Python中的列表理解将两个元素添加到列表中

标签 python

有没有办法在列表理解中添加两个值?

 [[x-0.5, x] if x != 0 and x % 30 == 0 else x for x in range(0, 60 + 1, 5)]

我尝试了上面的代码,它返回

 [0, 5, 10, 15, 20, 25, [29.5, 30], 35, 40, 45, 50, 55, [59.5, 60]]

我也尝试过

def f(x):
    return x-0.5, x
[f(x) if x !=0 and x % 30 == 0 else x for x in range(0, 60 + 1, 5)]

返回

[0, 5, 10, 15, 20, 25, (29.5, 30), 35, 40, 45, 50, 55, (59.5, 60)]

如何去掉支架?

编辑:

这就是我所期待的

 [0, 5, 10, 15, 20, 25, 29.5, 30, 35, 40, 45, 50, 55, 59.5, 60]

谢谢

最佳答案

list comprehension 中可以有多个 for 循环:

[y for x in range(0, 60 + 1, 5) 
   for y in ([x-0.5, x] if x != 0 and x % 30 == 0 else [x])]

产量

[0, 5, 10, 15, 20, 25, 29.5, 30, 35, 40, 45, 50, 55, 59.5, 60]

并且相当于:

result = []
for x in range(0, 60 + 1, 5):
    for y in ([x-0.5, x] if x != 0 and x % 30 == 0 else [x]):
        result.append(y)

关于python - 如何使用Python中的列表理解将两个元素添加到列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495944/

相关文章:

python - 在单元测试中测试性能

python - 如何将 MultipleChoiceField 添加到 Django Admin?

python - 如何取消我的训练数据分布对后续神经网络分类功能带来的巨大负面影响?

python - 检查模板匹配为True OpenCV

jquery .load 与 python flask

python - 为什么 urllib 2's .getcode() method crash on 404' s?

python - Django:我在哪里调用settings.configure?

python - Pandas DataFrame.Groupby.Agg 字典中的自定义列选择

python - 静态文件配置不当

python - Django:如何显示选项的名称而不是整数?