0

複数の dictionaries( Class1 , Class2) があり、辞書の 1 つの要素に list ( ) が格納Scoreされています。リストの要素を別の list に配置したいのですが、リスト自体を別の list に配置したくはありません。

次のコードを試します

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)

ありがとう

4

5 に答える 5

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)
于 2013-07-15T12:58:11.817 に答える
3

All.extend(...) はあなたが望むことをします...

于 2013-07-15T12:59:56.520 に答える
3

を呼び出すとAll.append(Class1['score'])、辞書に含まれるリストが 1 つの要素として扱われ、Allリスト全体に追加されます。

前と同じようにリスト内の各項目をループするか、list.extendメソッドを使用してリストを別の反復子とマージする必要があります。つまり、他の反復子のすべての項目を開始リストに追加します。

于 2013-07-15T13:06:39.920 に答える
3
All = Class1["score"] + Class2["score"]

後で要素を追加するには:

ALL += Classx["score"]
于 2013-07-15T13:02:55.517 に答える