#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
принимает все повторяющиеся типы (например, списки, кортежи, строки и т.д.).