Как удалить дубликаты слов в массиве? - PullRequest
0 голосов
/ 20 февраля 2020

У меня есть эти массивы в python:

noDuplicateArr = ['"foo barr', '"foo corp', '"barr corp']
wordsArr = ['"fool barr', '"fool corp"']

Теперь, как лучше всего не добавлять в noDuplicateArr слова "fool barr" & "fool corp", потому что "barr" и "corp" уже присутствуют в noDuplicateArr?

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

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

noDuplicateArr = ['"foo barr', '"foo corp', '"barr corp']
wordsArr = ['"fool barr', '"fool corp"']

seen_words = set()
for words in noDuplicateArr:
  words = words.strip('"')
  seen_words |= set(words.split())

for words in wordsArr:
  seen = False
  words = words.strip('"')
  for word in words.split():
    if word in seen_words:
      seen = True
      continue
  if not seen:
    noDuplicateArr.append(words)
0 голосов
/ 20 февраля 2020
list(set(noDuplicateArr.extend(wordsArr)))

Это даст вам массив только с уникальными записями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...