У меня есть список кортежейудалить запятые из кортежей в списке
items = [('Abkhazian',), ('Afar',), ('Afrikaans',), ('Albanian',), ('Amharic',), ('Arabic',), ('Armenian',), ...]
и хотите сделать его
['Abkhazian', 'Afar', 'Afrikaans', 'Albanian', 'Amharic', 'Arabic', 'Armenian', ... ]
В настоящее время единственное решение я нашел следующее
items = [str[i] for item in items]
for i in range(len(items)):
items[i] = items[i].replace("[","")
items[i] = items[i].replace("(","")
items[i] = items[i].replace("'","")
items[i] = items[i].replace(",","")
items[i] = items[i].replace(")","")
items[i] = items[i].replace("]","")
Я чувствую, что должен быть лучший способ
спасибо, что это отлично работает – thewizoid
Тривиальное отклонение (может быть быстрее для больших входов, нажимая больше работы на слой C, не тестировалось): 'from operator import itemgetter' в верхней части файла, сделать' list (map (itemgetter (0), items)) '(можно опустить« list' wrapping on Py2). Или понимание списка вариантов, которое гарантирует, что у вас действительно есть только один элемент в каждой распаковке последовательности 'tup'',' [item for item, in items] '; протестировал это на 20% ниже, чем на Python 3.5 (индексирование на Python на удивление медленное), и оно должно быть быстрее независимо от того, насколько велики или маленькие «элементы». – ShadowRanger