問題タブ [iterable-unpacking]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonでの解凍エラー
私はスクリプトを作成していますが、これを行う必要があります。
しかし、私はこのエラーを受け取ります:
このdata
ように構築されています:
csvファイルの小さなサンプル:
200.35.126.30;dnscan01.mnc0004.mcc02de.gprs;View_Blackberry;DNSCAN01
0.0.0.0;lac.rac.prueba;View_Blackberry;DNSCAN01
200.35.126.29;dnscan02.mnc0004.mcc02de.gprs;View_Blackberry;DNSCAN01
127.0.0.1;localhost.mnc0004.mcc02de.gprs;View_Blackberry;DNSCAN01
私がする時:
私は4つしか取得できませんが、リストデータの任意の位置が4つのメンバーリストであると想定できます。
私がそれに4を与えているとき、なぜそれが3人以上のメンバーが必要であると私に言ったのか分かりません。
このコードで何が起こっているのですか?
python - アンパックする複数の値
私はこのコードを実行します:
そして、このエラーを取得します:
python - Pythonで外部メソッドを呼び出しているときにタプルを解凍するにはどうすればよいですか?
次のように、クラス内で外部ライブラリのメソッドを複数回呼び出します。
ステートメントを含む行は、with
毎回定数を引数として渡す必要があるため、私を悩ませています。タプルのような事前定義されたデータ構造に引数を格納し、それを外部ライブラリに渡したいと思います。
python - より多くのデータを返し始めてもクライアントコードを壊さない、パッケージ化されていない値の iterable を返します
公開しようとしている API を書いているとしましょう。APIの関数quux
は、タプルのリストまたはジェネレーターを返しますyield (foo, bar)
。
クライアントコードは通常、次のように使用します。
ここで、将来、および とbaz
一緒に戻りたいと思うかもしれないとします。YAGNI がそうでないことが証明されるまでは、今すぐ返品したくありません。foo
bar
そのような将来の変更がクライアント コードを壊さないようにする (しようとする) 最善の方法は何でしょうか?
私は、Python 3 では人々が次のようなことを行うことができることを知っています。Python for foo, bar, *idontcare in quux(whatever)
2 では、常にユーティリティ関数を記述できます (このように使用するためfor foo, bar in iterleft(quux(whatever), 2)
):
しかし、このようなことを行うためのより良い方法があるかどうか疑問に思っていました.
c++ - std::tie はどの程度例外的に安全ですか?
std::tie
参照のタプルを返すため、次のことができます。
foo, bar, baz = (1, 2, 3)
これはPython の場合と似ています。
次の例のように、割り当ての 1 つがスローされた場合はどうなるでしょうか?
1337 または 42 を出力しますか、それとも未指定ですか?
python - リストを渡すよりもアンパックが好まれるのはなぜですか
引数リストのアンパック:
vs最初にリストを送信する:
python - Python のタプルとリスト。変換を拒否するタプル
これが失敗する理由を知る必要があります:
コードを実行すると、次のメッセージが表示されます。
<snip>
ConfigurationError.py", line 7, in __init__
self.args[0]=self.__prettyfi(self.args[0])
TypeError: 'tuple' object does not support item assignment
行番号を編集しました。このコード サンプルと一致するようにします。
self.args = list(args)
5 行目のリストにタプルを正しく展開しない理由がわかりません。
(超基本的なことを覚えていないのではないかとこっそり疑っています...)
python - iterableを他のiterableに解凍しますか?
ASCIIファイルからデータを読み取っているときに、次のようなことをしていることに気付きます。
1行あたりの要素数が決まっている場合(これは私が行います)¹、解凍する複数要素のエントリが1つしかない場合は、 `(a、b、* c、d、e)= ...'(拡張された反復可能な解凍)。
そうしない場合でも、もちろん、上記の例の2つの複数要素エントリの1つ(a, b, *c, d, e, f1, f2) = ...
をスター付きコンポーネントに置き換えることができます。
私の知る限り、itertools
ここではすぐには使用できません。
私がおそらく気付いていない理由で「よりPythonic」と見なされる可能性のある上記の3行のコードに代わるものはありますか?
¹それは決定的ですが、それでも行ごとに異なります。パターンは、numpy
s関数loadtxt
または。に対して複雑すぎgenfromtxt
ます。
python - Python: タプルをディクショナリにアンパックできないのはなぜですか?
なぜこれが機能しないのですか?:
私が達成しようとしていることを達成するためのより良い方法はありますか?
python - Pythonリストの解凍に改行をどのように含めますか?
いいですが
あまりいいではありません。Pythonは通常、コンマの後の改行をサポートするのに適していますが、この構文を理解することはできません。このようなものがいいでしょう:
長い行は反PEP8であるため、これを処理するPEP 8の方法は何ですか?