Вы хотите перебрать значения расщепленных:
wordList = [word for row in lst for word in row.split()]
затем использовать набор, чтобы сделать весь список уникальным:
wordList = list({word for row in lst for word in row.split()})
или просто использовать набор и сделать с ним:
wordList = {word for row in lst for word in row.split()}
Demo:
>>> lst = ['aa bb', 'cc dd', 'cc aa']
>>> list({word for row in lst for word in row.split()})
['aa', 'cc', 'dd', 'bb']
>>> {word for row in lst for word in row.split()}
set(['aa', 'cc', 'dd', 'bb'])
Если порядок имеет значение (приведенный выше код возвращает слова в произвольном порядке, отсортированный порядок является совпадение в силе деталей реализации CPython) используйте отдельный набор для отслеживания повторяющихся значений:
seen = set()
wordList = [word for row in lst for word in row.split() if word not in seen and not seen.add(word)]
Для того, чтобы проиллюстрировать разницу, лучше входная выборка:
>>> lst = ['the quick brown fox', 'brown speckled hen', 'the hen and the fox']
>>> seen = set()
>>> [word for row in lst for word in row.split() if word not in seen and not seen.add(word)]
['the', 'quick', 'brown', 'fox', 'speckled', 'hen', 'and']
>>> {word for row in lst for word in row.split()}
set(['and', 'brown', 'fox', 'speckled', 'quick', 'the', 'hen'])
Может быть, просто переместить слова в набор? Набор содержит уникальные значения. –
Имеет ли значение вопрос? – TerryA