2

私はリストのリストに取り組んでいます

入力:

x = [['a','a','a'],['b','b','b'],['c','c','c'],['d','d','d']]

出力を探しています:

s = ['a_b_c_d','a_b_c_d','a_b_c_d']

リスト内包表記を使用してこれを行う方法を教えてください。

4

2 に答える 2

12
>>> x = [['a','a','a'],['b','b','b'],['c','c','c'],['d','d','d']]
>>> map('_'.join, zip(*x))
['a_b_c_d', 'a_b_c_d', 'a_b_c_d']

… @aix のリスト内包表記は、よりリストを理解しやすいですが。

于 2012-05-02T12:45:43.427 に答える
11
In [6]: x = [['a','a','a'],['b','b','b'],['c','c','c'],['d','d','d']]

In [7]: ['_'.join(s) for s in zip(*x)]
Out[7]: ['a_b_c_d', 'a_b_c_d', 'a_b_c_d']

要求に応じて、これはリスト内包表記を使用します。map()同様に優れていると思うベースのソリューションについては、@ eumiroの回答を参照してください。

于 2012-05-02T12:45:34.517 に答える