Информатика, вопрос задал nikad38 , 2 года назад

PYTHON
Дано список цілих чисел, в якому зустрічаються однакові значення. Напишіть
функцію для друку цього списку після видалення всіх однакових значень

Ответы на вопрос

Ответил Carineitor
2

Ответ:

Відповідь наведена нижче

Объяснение:

def main():

   arr = [1,3,2,6,3,7,3,8,9,-5,0,-34,-5,-4,-5,5,2,7,4,8,2,4,1,]

   newArr = SelectUniqueValues(arr)

   print(newArr)

   pass

def SelectUniqueValues(arr):

   newArr = []

   

   for el in arr:

       if el not in newArr:

           newArr.append(el)

   return newArr

if __name__ == '__main__':

   main()

   pass


trueberry17: Это компилятор такой или Python старой версии? Почему просто не:
def SelectUniqueValues(arr):
newArr = []
[newArr.append(el) for el in arr if el not in newArr]
return newArr

arr = [1, 3, 2, 6, 3, 7, 3, 8, 9, -5, 0, -34, -5, -4, -5, 5, 2, 7, 4, 8, 2, 4, 1, ]
newArr = SelectUniqueValues(arr)
print(newArr)
trueberry17: А, и еще с принтом вместо последних двух строчек
print(SelectUniqueValues(arr))
trueberry17: Объясните, если не сложно Xd
Carineitor: Я шарпист, с пайтоном имею дело редко, поэтому и так :)
trueberry17: понятно, я думала переучиваться уже пхпх
Ответил trueberry17
3

Ответ: Ну.. вроде, добилась неплохого результата Xd. Если что-то непонятно или не устраивает ответ - пиши, порешаем ))

1) Если надо было вывести числа совсем без повторок.

Python Code:

def filter_list(lst):

   return print(sorted(list(set(lst[::2]) - set(lst[1::2])), key=lst.index))

filter_list([30, 1, 12, 100, 32, 10, 1, 1,

            2, 2, 3, 100, 5, 5, 10, 2])

# Вывод: [30, 12, 32, 3].

2) Если надо было вывести числа без повторок и с ними, но в единственном экземпляре.

Python Code:

def filter_list(lst):

   return print(sorted(set(lst), key=lst.index))

filter_list([30, 1, 12, 100, 32, 10, 1, 1,

            2, 2, 3, 100, 5, 5, 10, 2])

# Вывод: [30, 1, 12, 100, 32, 10, 2, 3, 5].

Приложения:

trueberry17: ой, там можно и без return, всё равно с print'а выводит
Новые вопросы