Python 2.7:将多个元组的列表转换为单个列表

时间:2018-06-12 06:49:59

标签: python python-2.7

我有以下多个元组列表:

[('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]

输入:<type 'list'>

转换为:

['1,Mak\n', '2,Sam\n', '3,John\n']

5 个答案:

答案 0 :(得分:3)

string.format,包含Python 2.6 +的列表理解

['{}\n'.format(','.join(i)) for i in arr]

# ['1,Mak\n', '2,Sam\n', '3,John\n']

或使用{3.6}使用formatted string literals

[f"{','.join(i)}\n" for i in arr]

答案 1 :(得分:3)

您可以使用列表推导:

l = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
l = [x + ',' + y + '\n' for x, y in l]

所以,现在l变为: ['1,Mak\n', '2,Sam\n', '3,John\n']

答案 2 :(得分:1)

使用列表理解。

l = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
print [",".join(i)+ "\n" for i in l]

maplambda一起使用。

例如:

l = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
print map(lambda x: "{0}\n".format(",".join(x)), l)

答案 3 :(得分:1)

这个怎么样 -

>>> l = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
>>> new_list = []
>>>
>>> for x in l:
...     new_list.append('%s%s' % (','.join(x), '\n'))
...
>>> new_list
['1,Mak\n', '2,Sam\n', '3,John\n']
>>>

答案 4 :(得分:1)

你可以使用map和lambda来解决这个问题。

#input
your_list = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
#result
result_list = list(map(lambda x:x[0]+x[1]+"\n",your_list))