如何迭代地向列表中的每个项目添加不同数量的元素?

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

我有一个按顺序出现的元素列表,我想一次向列表中添加一个。

所需输出:

'first_page'
'first_page + second_page'
'first_page + second_page + third_page'
'first_page + second_page + third_page + fourth_page'

...

数据结构:

page_list = ['first_page', 'second_page', 'third_page', 'fourth_page']

如何获得想要的输出?谢谢!

到目前为止,我可以使用此功能将下一页添加到上一页:

new_list = []
for index, elem in enumerate(page_list):
    if(index<(len(page_list)-1)):
        new_list.append(elem + ' + ' + page_list[index+1])
    else:
        new_list.append(elem)

返回:

['first_page + second_page',
 'second_page + third_page',
 'third_page + fourth_page',
 'fourth_page']
python list loops enumerate
1个回答
1
投票

使用

join()
创建分隔字符串。

您可以使用原始列表的递增切片作为要切片的列表。

page_list = ['first_page', 'second_page', 'third_page', 'fourth_page']
new_list = [' + '.join(page_list[:i]) for i in range(1, len(page_list)+1)]

print(new_list)

或者您可以在加入之前继续附加到另一个列表。

new_list = []
pages = []
for page in page_list:
    pages.append(page)
    new_list.append(' + '.join(pages)
© www.soinside.com 2019 - 2024. All rights reserved.