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

Python 2.7: Convert list of multiple tuples to a single list

我有以下多个元组的列表:

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

型号:

转换为:

1
2
3
4
['1,Mak
'
, '2,Sam
'
, '3,John
'
]


您可以使用列表理解:

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

因此,现在l变成:['1,Mak
', '2,Sam
', '3,John
']


带python2.6列表理解的string.format。+

1
2
3
4
5
6
7
['{}
'
.format(','.join(i)) for i in arr]

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

或者使用python 3.6+使用格式化字符串文本

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


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

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

这个怎么样-

1
2
3
4
5
6
7
8
9
10
11
12
13
>>> l = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
>>> new_list = []
>>>
>>> for x in l:
...     new_list.append('%s%s' % (','.join(x), '
'
))
...
>>> new_list
['1,Mak
'
, '2,Sam
'
, '3,John
'
]
>>>

使用列表理解。

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

使用带lambdamap

前任:

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