Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的组合列表理解_Python_Python 3.x_List Comprehension - Fatal编程技术网

python中的组合列表理解

python中的组合列表理解,python,python-3.x,list-comprehension,Python,Python 3.x,List Comprehension,我想知道如何创建具有以下要求的新列表: 包含比基本列表中的数字大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() 这将导致输出: [27530032535037540425450475500

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

  • 包含比基本列表中的数字大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()
这将导致输出:

[27530032535037540425450475500]

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

[5506006507007508008509501000]


为了获得所需的输出,我需要更改什么?我试图只使用一行代码来获取新列表。这是在Python3.7中实现的。让我知道。谢谢你的帮助

你说你想要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]

你的意思是
i*10
而不是
i*5
list1=[(i*10)如果不是i%5和i>50,则表示基本列表中的i]
旁注:无需制作
基本列表。只需删除
baseList
的定义,并用
range(1100)
替换listcomp中的
baseList
(您无需列出
范围,它已经是一个序列)。即使你必须去做,它也不需要是一个
列表
;如果在
范围内删除对
list()
的调用,您的代码将产生相同的结果,并且运行速度更快,启动内存更少。这只是一种说
打印(列表(范围(5501050,50))
是的,这就是我所缺少的。谢谢