繁体   English   中英

如何将列表与嵌套列表合并?

[英]How can I merge a list with a nested list?

我有两个清单。 第一个是一个包含一个条目的简单列表:

l = [hello]

第二个是嵌套列表,有几千个条目

i = [[world, hi], 
     [world, hi], 
     [world, hi], 
     [world, hi]]

现在我想将列表l的条目插入到i的嵌套列表中,如下所示:

i = [[hello, world, hi], 
     [hello, world, hi], 
     [hello, world, hi], 
     [hello, world, hi]]

我怎样才能做到这一点?

您可以使用列表理解来实现这一点

i = [l+x for x in i]

只需在i每个子列表上使用insert方法。

for sublist in i:
    sublist.insert(0, l[0])

如果您不想就地修改i并且更愿意构建一个新列表,那么

i = [[l[0], *sublist] for sublist in i]

简单: [[*l,*el] for el in i]

输出:

[['hello', 'world', 'hi'],
 ['hello', 'world', 'hi'],
 ['hello', 'world', 'hi'],
 ['hello', 'world', ' hi']]

我猜的好处是,无论l有多少元素,它们都会放在i中的东西前面

只需将元素添加到您想要的列表中

l = ["hello"]
i = [["world", "hi"], 
     ["world", "hi"], 
     ["world", "hi"], 
     ["world", "hi"]]

x = []
for y in i:
    x.append(l+y)

x

输出:

[['hello', 'world', 'hi'],
 ['hello', 'world', 'hi'],
 ['hello', 'world', 'hi'],
 ['hello', 'world', 'hi']]

我相信这样的事情应该可以解决问题:

l = ['hello']
i = [['world', 'hi'], 
     ['world', 'hi'], 
     ['world', 'hi'], 
     ['world', 'hi']]

for j in i:
    for k in l:
        j = j.append(k)

我只是遍历您的列表i ,嵌套另一个 for 循环以遍历更简单的列表l (以考虑它具有多个元素的情况),并简单地将l中的每个条目附加到i的当前列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM