如何在python的列表中减去有限数量的数字

问题描述

我试图从包含 7 个数字的列表中的前 N ​​个数字中减去 1。 (N 是列表中的第一个数字)

list = (5,[19,17,14,12,10,8])

目标是从前 5 个数字中减去 1,使我的输出看起来像

[18,16,13,11,8]

解决方法

我真的不确定你想用第一行代码做什么......

我相信你想要做的是:

example_list = [19,17,14,12,10,8]

N = 5

for i in range(0,N):
    example_list[i] = example_list[i] - 1

print(example_list)
,

将您的列表分成两部分。第一部分减去 1 并附加第二部分:

t = (5,[19,8])
N = t[0]  # <- 5
l = t[1]  # <- [19,8]

>>> [i - 1 for i in l[:N]] + l[N:]
[18,16,13,11,8]
,

好的试试:

lst = [19,8] # list

temp = lst[:5] # select from start to 5 - 1 (5 first)

temp = list( # MapObject to list
    map(
        lambda i: i - 1,# 1 -> 1 - 1
        temp
    )
)

lst[:5] = temp