Объединение двух списков и удаление дубликатов, без удаления дубликатов в исходном списке - PullRequest
80 голосов
/ 23 августа 2009

У меня есть два списка, которые мне нужно объединить, когда во втором списке игнорируются дубликаты первого списка. .. Немного сложно объяснить, поэтому позвольте мне показать пример того, как выглядит код, и что я хочу получить в результате.

first_list = [1, 2, 2, 5]

second_list = [2, 5, 7, 9]

# The result of combining the two lists should result in this list:
resulting_list = [1, 2, 2, 5, 7, 9]

Вы заметите, что у результата есть первый список, включая его два значения "2", но тот факт, что second_list также имеет дополнительные значения 2 и 5, не добавляется в первый список.

Обычно для чего-то подобного я использовал бы наборы, но набор first_list удалял бы дублирующиеся значения, которые у него уже есть. Так что мне просто интересно, как лучше / быстрее всего достичь этой желаемой комбинации.

Спасибо.

Ответы [ 12 ]

0 голосов
/ 24 мая 2019
L1 = [1,2,3,3,4,4]
L2 = [3,4,5,6,6,6]
L1.extend(L2)
L3 =[]
[L3.append(num) for num in L1 if num not in L3]
print L3
[1, 2, 3, 4, 5, 6]
[Finished in 0.5s]
0 голосов
/ 29 апреля 2015
    first_list = [1, 2, 2, 5]
    second_list = [2, 5, 7, 9]

    newList=[]
    for i in first_list:
        newList.append(i)
    for z in second_list:
        if z not in newList:
            newList.append(z)
    newList.sort()
    print newList

[1, 2, 2, 5, 7, 9]

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