2024-04-18 23:37:54 发布
网友
我有一个包含几个元素的列表,我只想从列表的前3个元素中减去1。我不知道什么是正确的代码来完成这个任务。如果有人能帮助我,我将不胜感激。谢谢您!你知道吗
thelist = [5,4,3,2,1]
我想让它变成
[4,3,2,2,1]
您可以使用列表理解来修改原始列表,如下所示:
n = 3 # Number of first elements to modify. modification_amount = -1 thelist[:n] = [val + modification_amount for val in thelist[:n]] >>> thelist [4, 3, 2, 2, 1]
一种可能的解决方案:
thelist = [5,4,3,2,1] thelist = [v - 1 if i < 3 else v for i, v in enumerate(thelist)] print(thelist)
印刷品:
[4, 3, 2, 2, 1]
或:
print(list(map(lambda k: k-1, thelist[:3])) + thelist[3:])
print([v - (i<3) for i, v in enumerate(thelist)])
In [95]: thelist = [5,4,3,2,1] In [96]: [i-1 for i in thelist[:3]] + thelist[3:] Out[96]: [4, 3, 2, 2, 1]
您可以使用列表理解来修改原始列表,如下所示:
一种可能的解决方案:
印刷品:
或:
或:
相关问题 更多 >
编程相关推荐