[解決済み] Python 3: 星付き式でリストを展開する
2022-02-01 14:26:23
質問
使用例です。
def f(a, b, c, d):
print(a, b, c, d, sep = '&')
f(1,2,3,4)
>>> 1&2&3&4
f(*[1, 2, 3, 4])
>>> 1&2&3&4
Pythonのドキュメントのどこに
*
を説明してください。
解決方法は?
その
*args
の呼び出し規約は
エクスプレッションリファレンス
:
もし、構文
*expression
が関数呼び出しに現れる。expression
はイテラブルとして評価されなければならない。このイテラブルの要素は、あたかも追加の位置引数であるかのように扱われ、位置引数がある場合は x1, ..., xN であり、かつexpression
はシーケンスに評価されます。 y1, ..., yM これは、M+N個の位置引数を持つ呼び出しと等価です。 x1, ..., xN, y1, ..., yM .
ということで
[1, 2, 3, 4]
は反復可能な式であり、他に位置引数がないため、M=0、N=4、つまり合計4つの位置引数を持つ呼び出しとして扱われます。
このように、関数を呼び出す際も
f(1, 2, *[3, 4])
または、反復記号と位置引数の他の任意の組み合わせ、ただし反復記号が
後
を指定します。
関連
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 変数を参照渡しする方法を教えてください。
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
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 jiabaライブラリの使用方法について説明
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない