1

私はPythonを初めて使用し、Pythonのリストと辞書とともにリストの理解を学んでいます。

だから、私は次のようなことをしたいと思います:

[my_functiona(x) for x in a]

..これは完全に正常に動作します。

ただし、今は次のことを行いたいと思います。

[my_functiona(x) for x in a] && [my_functionb(x) for x in a]

..そのようなリスト内包表記を結合または連鎖する方法はありますか? - 2 番目の関数は最初のリストの結果を使用します。簡単に言えば、私は申請my_functionaし、 my_functionb順次リストアップしたいと思いますa

これをグーグルで検索してみましたが、満足のいくものは見つかりませんでした。これがばかげた 101 の質問である場合は申し訳ありません。

4

3 に答える 3

6

最初の内包表記の結果を繰り返すだけです。

def double(x):
    return x*2
def inc(x):
    return x+1

[double(x) for x in (inc(y) for y in range(10))]

完全なリストを取得する必要がないため、内部理解をジェネレータ式にしました。

于 2013-05-20T15:57:50.493 に答える
1
[my_functiona(my_functionb(x)) for x in a]
于 2013-05-20T16:03:23.537 に答える