リスト内包表記から 2 つのリストを返すことは可能ですか? まあ、これは明らかにうまくいきませんが、次のようなものです:
rr, tt = [i*10, i*12 for i in xrange(4)]
したがってrr
、両方とも、それぞれ およびtt
からの結果を含むリストです。どうもありがとうi*10
i*12
リスト内包表記から 2 つのリストを返すことは可能ですか? まあ、これは明らかにうまくいきませんが、次のようなものです:
rr, tt = [i*10, i*12 for i in xrange(4)]
したがってrr
、両方とも、それぞれ およびtt
からの結果を含むリストです。どうもありがとうi*10
i*12
>>> rr,tt = zip(*[(i*10, i*12) for i in xrange(4)])
>>> rr
(0, 10, 20, 30)
>>> tt
(0, 12, 24, 36)
要素がリストの場合、リスト内包表記は複数のリストを返すことができます。たとえば、次のようになります。
>>> x, y = [[] for x in range(2)]
>>> x
[]
>>> y
[]
>>>
関数を使用したトリックでzip
うまくいきますが、ループを使用して結果をリストに収集するだけで、実際にははるかに簡単で読みやすくなります。