LINUX.ORG.RU

Удалить дубли внутри полей, разделённых табуляциями

 , ,


0

2

Доброго времени суток.
Есть файл содержащий строки, каждая строка состоит из полей (слов) разделённых табуляциями. Среди полей есть такие, что соодержат насколько слов (разделены запятыми).

выпить	попил,попил	выпила	попило,попило,попало,попили	попили,попили попью
дойти	дошёл	дошла,дошла	дошло,дышло	дошли

Как удалить слова-дубли внутри каждого поля? Т.е. из примера выше, чтобы получилось так:
выпить	попил	выпила	попило,попало,попили	попили попью
дойти	дошёл	дошла	дошло,дышло	дошли

Спасибо.

А что, собственно, не получается?

legolegs ★★★★★
()
Ответ на: комментарий от anonymous

Ну из этого:

выпить	попил,попил	выпила	попило,попило,попало,попили	попили,попили попью
дойти	дошёл	дошла,дошла	дошло,дышло	дошли

оно это
выпить	 попил	выпила	 попило,попало,попили	 попили попью
дойти	дошёл	 дошла	дошло,дышло	дошли

делает. В чём неверность решения?

sspphheerraa
() автор топика
Ответ на: комментарий от sspphheerraa

В том, что дубли удаляет только если они идут подряд. Опробуй на строке

выпить	попил,попил	выпила	попило,попила,попало,попило	попили,попили попью

Смотри на столбец 4.

anonymous
()
Ответ на: комментарий от anonymous

Да, вы правы. Похоже тут без скрипта не обойтись.

sspphheerraa
() автор топика
s = "выпить	попил,попил	выпила	попило,попило,попало,попили	попили,попили попью"
end_list = []
for string_with_tab in s.split('\t'):
	for string_with_space in string_with_tab.split(' '):
		end_list.append(string_with_space)
end_list = set(end_list)

это совсем грубо на питоне будет.

zad1ra
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.