通过添加到 Python 中的前一个值来追加到列表

问题描述 投票:0回答:1

我有一些重复场景,其中我有一个初始列表,然后我想通过获取最后一个值并向其添加一个常量来向列表末尾添加一些附加值。

我想重复此操作 x 次,获取先前的列表值并向其添加相同的常量。

我对 Python 很陌生,我有一个如下的工作方法。 我觉得我需要迭代器“索引”,以便我可以调用列表中的前一项。这意味着“items”变量实际上什么也没做,这让我认为会有更好的方法来做到这一点。有什么建议吗?

starting_list = [1, 5, 3]
increment = 7

additional_items = 5

for index, items in enumerate(range(additional_items), start=3):
    starting_list.append(starting_list[index - 1] + increment)

print(starting_list)

这给了我以下所需的输出:

[1, 5, 3, 10, 17, 24, 31, 38]
python list append
1个回答
0
投票
starting_list = [1, 5, 3]
increment = 7

additional_items = 5

for index in range(3, additional_items):
    starting_list.append(starting_list[index - 1] + increment)

print(starting_list)

只需删除枚举,然后迭代索引即可。 此外,如果您的目标是始终从上一个列表的末尾开始,则可以将其用作常量,而不是写

3

最后,

additional_items
可能不是您的变量的好名称,因为您没有添加 5 个额外项目,而只是
additional_items-len(starting_list)

因此,您可以这样更改代码:

starting_list = [1, 5, 3]
increment = 7

additional_items = 2 # number of additional_items you want 
initial_list_size = len(starting_list)
final_list_size = initial_list_size + additional_items

for index in range(initial_list_size, final_list_size):
    starting_list.append(starting_list[index - 1] + increment)

print(starting_list)
© www.soinside.com 2019 - 2024. All rights reserved.