Как я могу посчитать все удаленные элементы, когда я переделал список в набор (Python)

#python-3.x #list #function #set #tuples

#python-3.x #Список #функция #набор #Кортежи

Вопрос:

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

 def find_type(arg):
    if isinstance(arg, list):
        arg = set(arg)
        return arg
    elif isinstance(arg, tuple):
        a = list(arg)
        return set(a)


print(find_type((1, 2, 2, 3)))
  

и ответ

 {1, 2, 3}
  

Функция работает, поэтому я просто не знаю, как подсчитать и записать количество удаленных элементов

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

1. Общее количество удаленных элементов равно len(original_list) - len(set(original_list))

Ответ №1:

Вы можете использовать следующее соотношение:

 number1 = len(arg)
number2 = len(find_type(arg))
number = number1-number2
  

Ответ №2:

Количество удаленных элементов — это просто разница в длине списка / кортежа и набора.

Кроме того, вам не нужно проверять, является ли arg это экземпляром списка или кортежа (и даже если вы это сделаете, сделайте это в одном условном выражении). set принимает все повторяющиеся типы (например, списки, кортежи, строки и т.д.).