python - 然后用输入替换列表中大于 100 的某些对象
问题描述
我必须取列表的每 5 个元素,将其乘以 2,然后将结果放入一个新列表中,然后合并两个列表。
我什至不知道如何开始,更不用说继续了。
编辑
休息后,这是我用 0 知识所能做的。
L = [ 10, 2, 56, 33, 23, 1, 564, 32, 122, 42, 3, 4, 2, 1, 3, 2, 1, 54, 5, 9, 1, 65, 254 ]
x = int(input("Insert number here: "))
for i in range(0, int(len(L))):
if L[i] > 100:
L.pop(i)
L.insert(i, x)
print(L)
解决方案
根据我从上述评论中的理解,这是您的问题的解决方案。如果这不是您想要的,请告诉我,我会相应地更新。我在这里使用列表推导。我曾经(i+1)%5
访问第 5 个索引,因为该索引从0
python 开始。
L = [ 10, 2, 56, 33, 23, 1, 564, 32, 122, 42, 3, 4, 2, 1, 3, 2, 1, 54, 5, 9, 1, 65, 254 ]
x = int(input("Insert number here: "))
L1 = [x if i > 100 else i for i in L]
L2 = [2*j if (i+1)%5==0 else j for i, j in enumerate(L1)]
L_output = L1 + L2
print (L1)
print (L2)
print (L_output)
输出
Insert number here: 6
[10, 2, 56, 33, 23, 1, 6, 32, 6, 42, 3, 4, 2, 1, 3, 2, 1, 54, 5, 9, 1, 65, 6]
[10, 2, 56, 33, 46, 1, 4, 32, 4, 84, 3, 4, 2, 1, 6, 2, 1, 54, 5, 18, 1, 65, 4]
[10, 2, 56, 33, 23, 1, 6, 32, 6, 42, 3, 4, 2, 1, 3, 2, 1, 54, 5, 9, 1, 65, 6, 10, 2, 56, 33, 46, 1, 4, 32, 4, 84, 3, 4, 2, 1, 6, 2, 1, 54, 5, 18, 1, 65, 4]
推荐阅读
- javascript - 通过键名从对象数组中删除重复对象
- oracle - Oracle 物化视图中的数据何时真正改变?
- jfreechart - 具有相同项目的堆叠条在一行中重复
- xmlunit - XMLUnit 忽略链接中的版本差异
- c++ - 在 C++ 应用程序中使用 C 函数时代码覆盖率 (gcov) 失败
- javascript - React 使用状态显示,否则隐藏
- docker - 如何在 Docker for Windows 中的 Linux 容器中设置代理服务器
- teamcity - 如何将 1 个 TeamCity 工件复制到 2 个目标位置?
- windows - 为什么 LibreSSL 从 2.6 开始停止发布 Windows 二进制文件?
- angularjs - 为什么在angularjs中for循环失败?