[解決済み] ValueError: 解凍するために0個以上の値が必要(pythonのリスト)
2022-02-02 21:59:12
質問
Google code classでpythonを学習しています。練習問題を試しているところです。
def front_x(words):
x_list, ord_list = []
for word in words:
if word[0] == 'x':
x_list.append(word)
else:
ord_list.append(word)
return sorted(x_list) + sorted(ord_list)
1行で2つの空リストを初期化しているため、エラーが発生するのだと思います。別々の行で初期化すれば、もうエラーは発生しません。これが原因でしょうか?
解決方法を教えてください。
タプルアサインを使おうとしているのですね。
x_list, ord_list = []
というのは、おそらく多重代入を意味しているのでしょう。
x_list = ord_list = []
は期待通りの働きをしてくれませんので、代わりに次のものを使ってください。
x_list, ord_list = [], []
または、まだ最高です。
x_list = []
ord_list = []
カンマで区切られた変数名のリストを使うとき、Pythonは右辺に数変数にマッチする一連の式があることを期待します; 以下のものも合法でしょう。
two_lists = ([], [])
x_list, ord_list = two_lists
これをタプルのアンパッキングといいます。一方、複数の代入を行うために
1
空のリスト・リテラル (
x_list = ord_list = []
の両方が必要です。
x_list
と
ord_list
を指していることになります。
同じ
のリストが作成され、一方の変数で行われた変更はもう一方の変数で見ることができます。
>>> x_list = ord_list = []
>>> x_list.append(1)
>>> x_list
[1]
>>> ord_list
[1]
より明確にするために、2つの セパレート を代入し、それぞれの変数に独自の空リストを与えています。
関連
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] 変数の値からpandas DataFrameを構築すると、「ValueError: すべてのスカラー値を使用する場合は、インデックスを渡す必要があります。"
-
[解決済み】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関数の高度な応用を解説
-
python call matlab メソッドの詳細
-
Python jiabaライブラリの使用方法について説明
-
Python百行で韓服サークルの画像クロールを実現する
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。