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))
是的,这就是我所缺少的。谢谢