Получение уникальных значений из списка python - PullRequest
0 голосов
/ 05 февраля 2020

мне нужно выдать уникальные элементы, например, если у меня есть список [3,4,5,7,3,9,0,3], я получу только 3, 4, 5, 7, 9, 0.

def unique(sequence):
    for i in sequence:
        yield (i) 
    return sequence

Я не буду повторяться

Ответы [ 2 ]

0 голосов
/ 05 февраля 2020

Вы можете использовать set, чтобы отслеживать предметы, которые вы получили, и, таким образом, сохранять порядок предметов, как показано ниже:

def unique(sequence):
    yielded = set()
    for i in sequence:
        if i in yielded:
            continue
        yield (i)
        yielded.add(i)

Пример вывода с заданного ввода:

>>> for x in unique([3,4,5,7,3,9,0,3]):
    print(x)


3
4
5
7
9
0
>>> 
0 голосов
/ 05 февраля 2020

Попробуйте:

list(set(sequence))

Итерации не выполняются

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