【发布时间】:2021-07-20 20:23:34
【问题描述】:
我试图从包含 7 个数字的列表中的前 N 个数字中减去 1。 (N 是列表中的第一个数字)
list = (5, [19, 17, 14, 12, 12, 10, 8])
目标是从前 5 个数字中减去 1,这样我的输出看起来像
[18, 16, 13, 11, 11, 10, 8]
【问题讨论】:
标签: python list subtraction
我试图从包含 7 个数字的列表中的前 N 个数字中减去 1。 (N 是列表中的第一个数字)
list = (5, [19, 17, 14, 12, 12, 10, 8])
目标是从前 5 个数字中减去 1,这样我的输出看起来像
[18, 16, 13, 11, 11, 10, 8]
【问题讨论】:
标签: python list subtraction
我真的不确定你想用那里的第一行代码做什么......
我相信你想要做的是:
example_list = [19, 17, 14, 12, 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, 17, 14, 12, 12, 10, 8])
N = t[0] # <- 5
l = t[1] # <- [19, 17, 14, 12, 12, 10, 8]
>>> [i - 1 for i in l[:N]] + l[N:]
[18, 16, 13, 11, 11, 10, 8]
【讨论】:
好的试试看:
lst = [19, 17, 14, 12, 12, 10, 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
【讨论】: