python - python中的组合列表理解
问题描述
我想知道如何创建具有以下要求的新列表:
- 包含比 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 中。让我知道。谢谢你的帮助!
解决方案
你说你想要大 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]
推荐阅读
- javascript - Javascript有奇怪的while循环结果
- php - 如何扩展一个类以覆盖单个导入的类?
- javascript - 使用图像渲染:像素化;导致运动图像波纹垂直像素线
- javascript - 反应调用函数?
- ios - SwiftUI Bug 修复“无法转换 'Binding 类型的值
'到预期类型'绑定<_>?'" - aws-appsync - 如何在 lambda 调用的 Appsync 中添加订阅?
- vuetify.js - 在Vuetify中,如何防止在checkbox里面点击一个chip来勾选checkbox?
- java - 为什么以下递归程序会给出以下输出
- react-native - 将值从 React Native 选择器组件传递回 VueJS 调用者
- c - 在 C 中计算互补误差函数 erfcinv() 的逆