我正在处理列表列表
输入:
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']
请让我知道如何使用列表理解来做到这一点。
>>> 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 的列表理解更易于列表理解。
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']
根据要求,这使用列表推导。请参阅@eumiro 的答案,了解map()
我认为同样好的基于 - 的解决方案。