我有以下多个元组列表:
[('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
输入:<type 'list'>
转换为:
['1,Mak\n', '2,Sam\n', '3,John\n']
答案 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]
或
将map
与lambda
一起使用。
例如:
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))