首页 > 解决方案 > 然后用输入替换列表中大于 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)

标签: pythonpython-3.xlist

解决方案


根据我从上述评论中的理解,这是您的问题的解决方案。如果这不是您想要的,请告诉我,我会相应地更新。我在这里使用列表推导。我曾经(i+1)%5访问第 5 个索引,因为该索引从0python 开始。

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]

推荐阅读