繁体   English   中英

Append 两个单独的列表到列表列表

[英]Append two individual lists to list of lists

假设我有:

a=[1,2,3]
b=[4,5,6]

现在我想从 a 和 b 创建一个列表列表,我会这样做:

c=[a,b]=[[1,2,3],[4,5,6]]

作为a.append(b)将导致: [1,2,3,b]=[1,2,3,[4,5,6]]

现在假设存在一个我想要从 append 到 c 的新列表:

d=[7,8,9]

我现在必须做c.append(d)以获得[[1,2,3],[4,5,6],[7,8,9]]

因为

e=[c,d]=[[[1,2,3],[4,5,6]],[7,8,9]]

如何在不知道我的列表结构的情况下从单个列表中获取列表列表?

尝试这个:

a = [1,2,3]
b = [4,5,6]
c = []

c.append(a)
c.append(b)

这应该可行,并且只需要 2 行简单的行。

有点迂回,但看起来不错,使用 numpy

a = np.array([[1,2,3]])
b = np.array([[4,5,6]])
c = np.append(a,b,axis=0)
print(c.tolist())

给你

[[1,2,3],[4,5,6]]

以相同的方式附加另一个列表保持列表列表的结构,例如

d = np.array([[7,8,9]])
e = np.append(c,d,axis=0)
print(e.tolist())

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

现在这是相当迂回的。 如果可能的话,我会把所有东西都保存在 numpy arrays 中。

编辑:想出了如何在没有 numpy 的情况下做到这一点

只需 state 每个列表作为列表开头的列表

a = [[1,2,3]]
b = [[4,5,6]]
a.extend(b)
print(a)

[[1,2,3],[4,5,6]]

此外,您可以这样做

d = [[7,8,9]]
a.extend(d)
print(a)

[[1, 2, 3], [4, 5, 6], [4, 5, 6]]

您描述的两个动作明显不同。 第一个是创建外部列表(又名c ),第二个是附加到它。

为了使过程更加统一,您可以从外部列表和 append 的所有子列表开始。

c = []
a=[1,2,3]
b=[4,5,6]
d=[7,8,9]

c.append(a)
c.append(b)
c.append(d)

c 现在是

[[[1,2,3],[4,5,6]],[7,8,9]]

暂无
暂无

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

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