我有几个字典(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)
感谢
答案 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"])