python中的组合列表理解

时间:2018-11-27 20:58:42

标签: python python-3.x list-comprehension

我想知道如何创建具有以下要求的新列表:

  • 包含的值比baseList中的数字大10倍
  • 包含5的倍数且大于50的项目

这是我到目前为止所拥有的:

def main():
    baseList = list(range(1, 101))

    list1 = [(i*5) for i in baseList if i % 5 == 0 and i > 50]
        print(list1)

main()

这将产生输出:

[275,300,325,350,375,400,425,450,475,500]

我正在尝试获得以下输出:

[550、600、650、700、750、800、850、900、950、1000]

为了获得所需的输出,我需要更改什么?我试图仅使用一行代码来获取新列表。这在Python 3.7中。让我知道。感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您说要多10倍,但列表理解中只将i乘以5。固定代码:

baseList = list(range(1, 101))

list1 = [i * 10 for i in baseList if i % 5 == 0 and i > 50]
print(list1)

输出:

[550, 600, 650, 700, 750, 800, 850, 900, 950, 1000]