当前位置:  开发笔记 > 编程语言 > 正文

在for循环中追加一个列表?

如何解决《在for循环中追加一个列表?》经验,为你挑选了1个好方法。

有两个给定的列表,假设:

list1 = ['node1','node2','node3','node4']
list2 = ['goal1','goal2','goal3']

我需要一个返回的列表:

result = [['node1','node2','node3','node4','goal1'],
       ['node1','node2','node3','node4','goal2'],
       ['node1','node2','node3','node4','goal3']]

这是我有的:

result = []
for i in range (len(list2)):
    list1.append(list2[i])
    result.append(list1)
    list1.pop()

问题是,结果没有附加所需的值.它打印,

[['node1', 'node2', 'node3', 'node4'],
 ['node1', 'node2', 'node3', 'node4'],
 ['node1', 'node2', 'node3', 'node4']] 

for循环完成.

我究竟做错了什么?



1> Padraic Cunn..:

您可以list1使用列表comp 将每个目标添加到list1的末尾:

list1 = ['node1', 'node2', 'node3', 'node4']
list2 = ['goal1', 'goal2', 'goal3']
print([list1 + [gl] for gl in list2])

输出:

[['node1', 'node2', 'node3', 'node4', 'goal1'], 
['node1', 'node2', 'node3', 'node4', 'goal2'], 
['node1', 'node2', 'node3', 'node4', 'goal3']]

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有