[解決済み] Python ValueError: Too many values to unpack [duplicate] (解凍する値が多すぎる)
2022-03-07 07:25:29
質問
私はこのコードからその例外を取得しています。
class Transaction:
def __init__ (self):
self.materials = {}
def add_material (self, m):
self.materials[m.type + m.purity] = m
def serialize (self):
ser_str = 'transaction_start\n'
for k, m in self.materials:
ser_str += m.serialize ()
sert += 'transaction_end\n'
return ser_str
は
for
の行が例外を発生させるものです。その
m
は
Material
オブジェクトになります。どなたか理由をご存じですか?
解決方法は?
self.materials
は
dict
で、デフォルトではキー (文字列) だけに対して反復処理をしています。
以来
self.materials
は2つ以上のキーを持っています。
*
に展開することはできません。
tuple
"
k, m
"であり、そのため
ValueError
例外
が発生します。
Python 2の場合。
x
というように、キーと値を反復処理するために(
tuple
"
k, m
")を使用します。
self.materials.iteritems()
.
しかし、どうせキーを捨ててしまうのだから、単純に辞書の値を反復処理したほうがいい。
for m in self.materials.itervalues():
Python 3では。
x
を好む。
dict.values()
(を返します)。
ディクショナリビューオブジェクト
):
for m in self.materials.values():
関連
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み] UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] Pythonでシングルトンを作成する
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Python jiabaライブラリの使用方法について説明
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み] 値が多すぎて展開できない」、dictを反復する。 key=>string, value=>list