問題タブ [argument-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.

0 投票する
1 に答える
1264 参照

python - 辞書をアンパックし、キーワード パラメータとして関数に渡す

私はPythonでいくつかの辞書をいくつかの関数に解凍しようとしています:

パラメータとして取得する関数がありpacketます(dictである必要があります)

そして、私はそれを次のように呼びます:

パブリッシュ機能は、サードパーティの API (Google Pub/Sub API) にあり、ソースを調べたところから:

すべてのキーワード パラメータを別の関数に渡すために **attrs を受け入れます。

現在.. queue() 関数が機能していません。

queue()可能な場合、関数を修正してpacketdict 引数をpublish()受け入れるものに展開するにはどうすればよいですか?

ありがとう!


編集:

私が得たいくつかのエラーメッセージ。

為に:

私は得る:TypeError: 1 has type <class 'int'>, but expected one of: (<class 'bytes'>, <class 'str'>)


為に:

私は得る:publish() takes from 2 to 3 positional arguments but 4 were given


為に:

私は得る:TypeError: queue() takes 1 positional argument but 2 were given


とのために:

私は得る:TypeError: publish() takes from 2 to 3 positional arguments but 4 were given


編集2:

@gallが正しく提案したように、それは私が送信していたデータであり、解凍に問題はありません. この関数で:

文字列のみで呼び出すと機能します。

皆さん、ありがとうございました!

0 投票する
2 に答える
2659 参照

python - リストのリストをアンパックするには?

これは重複した質問かもしれませんが、リストのリストをアンパックし、アンパックされた結果から変数を作成する方法があることを知りたいですか? 次のようなファイルにデータがあります。

だから私はファイルを開いてそれをリストにします

出力:

[416213688, 422393399, 190690902, 81688], [94925847, 61605626, 346027022], [1035022, 1036527, 1038016]

これは、プログラムの次のステップに必要な出力です。しかし、この結果aをさらに使用するために変数にすることはできません。SyntaxError: can't use starred expression here試してみると、次のようになります。

を使用して作成しようとしましたzipが、質問zip 関数で誤った出力を与えるで説明されているのと同様に、誤った出力が得られます。

リストのリストをアンパックして次のような出力を得る方法はありますか?

itertools を使用すると、次のようになります。

それは必須ではありません

したがって、機能するオプションはhttps://stackoverflow.com/a/46146432/8589220です。