Удаление повторяющихся целых чисел в python

#python #python-3.x #python-requests

#python #python-3.x #python-запросы

Вопрос:

Как начинающий изучающий python, я наткнулся на стену в этот момент и не мог понять это.

То, что я пытаюсь сделать, — это иметь возможность выбирать целые числа в нескольких списках и удалять дубликаты среди них. Затем создайте список копий, который не включает дубликаты.

 def my_function(x):
    return list(dict.fromkeys(x))
liss = [[1,2],[3,4,5,6],[1,4,3,99]]
list2 = my_function(str(liss))

list1 = [x for i in list2 for x in i]
print(list1)
 

Комментарии:

1. Ссылки и изображения текста за пределами сайта неприемлемы в соответствии с целью этого сайта.

2. Не публикуйте снимки экрана вашего кода. Используйте компьютерную мышь, чтобы щелкнуть левой кнопкой мыши где-нибудь в вашем коде. Нажмите Ctrl-A. Нажмите Ctrl-C. Откройте stack overflow. Нажмите Ctrl-V, чтобы вставить свой код в вопрос. Чтобы ваш код выглядел красиво (отображался шрифтом с одним интервалом), поставьте три обратных пометки над первой строкой кода и поставьте три обратных пометки « после вашей последней строки кода. Обратные галочки укажут stack overflow, чтобы ваш код выглядел как код. весь ваш код будет иметь правильный отступ, если вы используете обратные тики.

Ответ №1:

Рассмотрите возможность использования понимания набора:

 >>> xss = [[1, 2], [3, 4, 5, 6], [1, 4, 3, 99]]
>>> xs_no_dups = list({x for xs in xss for x in xs})
>>> xs_no_dups
[1, 2, 3, 4, 5, 6, 99]
 

Ответ №2:

Пожалуйста, напишите код для реализации алгоритма с именем «сортировка слиянием»

Вы можете щелкнуть по этим ссылкам, чтобы прочитать страницу Википедии о сортировке слиянием

Напишите код для выполнения следующих задач:

  1. Сортировка каждого списка. Например [4, 2, 1, 2, 5, 0] , становится [0, 1, 2, 3, 4, 5]
  2. объедините отсортированные списки. Например, объединить [1, 3, 4, 9] и [2, 6, 20] сформировать [1, 2, 3, 4, 6, 20]
  3. пройдите по окончательному отсортированному объединенному списку слева направо. Если текущий элемент отличается от предыдущего элемента, то выведите текущий элемент.

Рассмотрим следующий список с именем the_list :

 OUTPUTS (VALUES)      [1, 1, 1, 5, 5, 6, 9, 9, 9, 9, 14, 14, 14]
 INPUTS (INDICIES)     0  1  2  3  4  5  6  7  8  9  10  11  12
 

Пройдите по списку слева направо.

Обратите внимание, что the_list[0] это 1 так.
1 ранее не встречалось.
Итак, вы должны отправить 1 в выходной поток.

Мы завершили обработку the_list[0]
Далее, взгляните на the_list[1] . the_list[1] равно предыдущему значению.
Итак, НЕ отправляйте the_list[1] в выходной поток.

Только когда входные данные изменяются, мы отправляем входные данные в выходной поток.

Пока входные данные такие же, как и 2 секунды назад, мы не отправляем выходные данные в выходной поток.

 def foobar(the_list):
    # `prev` stands for the English word `previous`

    the_list = iter(the_list)
    prev = next(the_list)    
    yield prev
    for elem in the_list:
        if elem != prev:
            yield elem
        prev = elem