7

整数として関数に渡す必要のある刺し傷の長いリストがあります。私が今していることは:

my_function(int(list[0]), int(list[1]), int(list[2]), int(list[3])...)

しかし、リストを解凍することで、はるかに短い関数呼び出しを行うことができることを私は知っています。

my_function(*list)

int()キャストとリストの解凍を組み合わせる方法があるかどうか疑問に思っていました。次の*ようなものです。

my_function(*int(list))  #Doesn't work
4

2 に答える 2

15

組み込みのメソッドを使用しますmap

my_function(*map(int, list))

または、リスト内包表記を試してください:

my_function(*[int(x) for x in list])

ところで:

listをローカル変数の名前として使用しないでください。組み込みメソッドが隠されlistます。

組み込みメソッドを非表示にしたり、キーワードと衝突したりする変数名にアンダースコアを追加するのが一般的です。

于 2013-02-04T16:12:53.543 に答える
2

マッピングが答えです:

map(int, my_list)
于 2013-02-04T16:12:48.027 に答える