问题描述
我试图从包含 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