Python 2.7: преобразование списка из нескольких кортежей в один список - PullRequest
0 голосов
/ 12 июня 2018

У меня есть следующий список из нескольких кортежей:

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

Тип: <type 'list'>

Преобразовать в:

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

Ответы [ 5 ]

0 голосов
/ 12 июня 2018

Вы можете использовать карту и лямбду, чтобы решить эту проблему.

#input
your_list = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
#result
result_list = list(map(lambda x:x[0]+x[1]+"\n",your_list))
0 голосов
/ 12 июня 2018

Как насчет этого -

>>> 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']
>>>
0 голосов
/ 12 июня 2018

string.format с пониманием списка для Python 2.6 +

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

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

Или с Python 3.6+ с использованием форматированных строковых литералов

[f"{','.join(i)}\n" for i in arr]
0 голосов
/ 12 июня 2018

Вы можете использовать списки:

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']

0 голосов
/ 12 июня 2018

Использование списка понимания.

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...