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] |
因此,现在
', '2,Sam
', '3,John
']
带python2.6列表理解的
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] |
或
使用带
前任:
1 2 3 | l = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')] print map(lambda x:"{0} ".format(",".join(x)), l) |