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

时间:2013-07-15 12:55:50

标签: python python-3.x

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

我尝试以下代码

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)

但结果是

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

但我想要的是

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

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

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)

感谢

5 个答案:

答案 0 :(得分:6)

您可以使用extend

extend(...)

L.extend(iterable) -- extend list by appending elements from the iterable
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)

答案 1 :(得分:3)

All.extend(...)会做你想要的......

答案 2 :(得分:3)

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

稍后添加更多元素:

ALL += Classx["score"]

答案 3 :(得分:3)

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

你要么必须循环遍历列表中的每个项目,要么使用list.extend方法,它将列表与另一个迭代器合并,即将其他迭代器中的每个项目附加到起始列表中

答案 4 :(得分:3)

如果All可能已包含元素:

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