关于python:如何直接将列表元素放到另一个列表中?

How to put the element of a list to another list directly?

我有几个字典(Class1 , Class2),字典的一个元素存储一个列表(Score),我想把列表的元素放在另一个列表中,但不把列表本身放在另一个列表中。

我尝试以下代码

1
2
3
4
5
6
All = []
Class1 = {"name":"A","score":[60,70,80]}
Class2 = {"naem":"B","score":[70,80,90]}
All.append(Class1['score'])
All.append(Class2['score'])
print(All)

但结果是

1
[[60, 70, 80], [70, 80, 90]]

但我想要的是

1
[60, 70, 80, 70, 80, 90]

我尝试下面的解决方案,但我想知道是否存在更好的解决方案?

1
2
3
4
5
6
7
8
9
10
11
12
All = []
Class1 = {"name":"A","score":[60,70,80]}
Class2 = {"naem":"B","score":[70,80,90]}

Scores1 = Class1['score']
Scores2 = Class2['score']

Scores = Scores1 + Scores2
for score in Scores:
    All.append(score)

print(All)

谢谢


您可以使用extend

1
2
3
extend(...)

L.extend(iterable) -- extend list by appending elements from the iterable

1
2
3
4
5
6
All = []
Class1 = {"name":"A","score":[60,70,80]}
Class2 = {"naem":"B","score":[70,80,90]}
All.extend(Class1['score'])
All.extend(Class2['score'])
print(All)

如果All可能已经包含元素:

1
All.extend(Class1["score"] + Class2["score"])


调用All.append(Class1['score'])时,词典中包含的列表将被视为单个元素,并作为一个整体添加到All列表中。

您要么像以前那样循环遍历列表中的每个项,要么使用list.extend方法,将列表与另一个迭代器合并,即将其他迭代器中的每个项附加到起始列表中。


1
All = Class1["score"] + Class2["score"]

以后添加更多元素:

1
ALL += Classx["score"]

全部。扩展(…)将执行您想要的操作…