プログラムとか 思ったこととか 徒然ブログ 投稿一覧へ戻る

タグ "unpack" が付いている投稿一覧

【 Effective Python, 2nd Edition 】* 書式 (starred expression) をアンパックで活用しよう!

Tags: Python , unpack , Effective , expression , starred

Published 2020年6月16日17:42 by T.Tsuyoshi

通常のアンパックでは、事前にアンパック対象のシーケンスの長さを知っている必要があります。 ですから、次のようなリストから高得点上位2つだけをアンパック構文で取得しようとするとエラーになります。 scores = [78, 93, 61, 94, 88, 59, 71, 98, 66] scores_descending = sorted(scores, reverse=True) highest, second_highest = …

【Python 雑談・雑学】 関数への引数の渡し方・受け取り方 - *args、**kwargs を利用した引数の渡し方、パラメータの受け取り方、総復習 -

Tags: Python , miscellaneous , unpack , kwargs , argument , args , parameter

Published 2020年6月11日16:37 by T.Tsuyoshi

ちょっと混乱している方がいるようなので。 今回は特に **kwargs を中心に整理してみます。 ・名前付き引数 (named arguments) を辞書として受け取る ============ def named1(**kwargs): print(f"named1 => {kwargs}") named1(name="Nana", age=26) # named1 => {'name': …

【 Effective Python, 2nd Edition 】dictionary comprehension の使い道

Tags: Python , comprehension , dictionary , unpack , Effective

Published 2020年6月11日7:01 by T.Tsuyoshi

リスト内包表記 (list comprehension) は使う場面も多いけれど、辞書内包表記 (dictionary comprehension) は使ったことがない、という方も多いのでは、 実際、使う場面はほぼほぼないかもしれません。 そこで、辞書内包表記を利用することでコード全体がスッキリする場面、をご紹介。 下記のようなデータ構造を利用しているとします。 users = [ (0, 'Nana', 'password'), (1, 'Saki', '1234'), (2, …

【 Effective Python, 2nd Edition 】アンパックのちょっとした使い方 - 1: 一時変数を使わずにスワップする、2: インデックス番号を用いないでネストしている iterable の要素を取り出す -

Tags: Python , iterable , enumerate , unpack , swap , Effective

Published 2020年6月10日16:03 by T.Tsuyoshi

1: 次のようなリストをアルファベット順に並べ替えるとします( sort() を使っちゃダメですよ)。 friends = ['Hana', 'Yuka', 'Nana', 'Saki'] Python に馴染みが薄い方は、次のように一時変数を利用して入れ替えを行うと思います。 def bubble_sort(a): for _ in range(len(a)): for i …

【Python 雑談・雑学】 関数への引数の渡し方 - 複数の個別の引数を取るのなら、ちゃんとアンパックして渡しましょう -

Tags: Python , miscellaneous , arguments , unpack

Published 2020年6月6日12:19 by T.Tsuyoshi

ちょっとうっかり、的話題です。 次のような関数があります。 from typing import Union def multiply(*args: Union[int, float]): if len(args) == 0: raise ValueError('少なくとも1つの引数が必要です') total = 1 for …