сохранить только 1 элемент в списке для каждого уникального префикса - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть пример ситуации, когда у меня есть следующий список:

test = ['a-nyc','a-chi','b-sf','c-dal','a-phx','c-la']

элементы в этом списке естественным образом упорядочены каким-либо образом, и цель состоит в том, чтобы сохранить первое встреченное значение для каждого префиксаНапример, желаемый результат представляет собой следующий список:

['a-nyc', 'b-sf', 'c-dal']

Есть ли удобный способ сделать это?

выглядит так, как это можно сделать следующим образом:

newl = []
prel = []
for i in range(len(test)):
    if test[i].split('-')[0] not in prel:
        newl.append(test[i])
    else:
        pass
    prel.append(test[i].split('-')[0])

но не уверен, есть ли более питоническое решение

1 Ответ

0 голосов
/ 28 февраля 2019

Да, вы также можете попробовать выполнить следующее:

    test = ['a-nyc','a-chi','b-sf','c-dal','a-phx','c-la']
    prefix = []
    newlist = []
    for i in test:
        if i.split('-')[0] not in prefix:
            prefix.append(i.split('-')[0])
            newlist.append(i)
    print(newlist)

В этом случае, если возникнет какой-либо запрос, дайте мне знать.Спасибо.

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