Измените функцию, чтобы она также принимала таблицы (Python 3)

#python #list

#python #Список

Вопрос:

Я разработал простую функцию, которая просматривает введенный список чисел, определяет минимальное и максимальное значения, затем заменяет их оба на среднее значение между ними, функция здесь:

 def mainfunction(list_of_numbers):

    smallest_number = list_of_numbers[0]
    for a in list_of_numbers:
        if a < smallest_number:
            smallest_number = a

    largest_number = list_of_numbers[0]
    for b in list_of_numbers:
        if b > largest_number:
            largest_number = b

    midpoint = (smallest_number   largest_number)/2

    final_list = [x if (x != largest_number and x != smallest_number) else midpoint for x in list_of_numbers]
    return final_list

print(mainfunction([10, 7, 14, 3, -200, 8, 1, -12, 250]))
  

К сожалению, я не могу заставить функцию работать с ТАБЛИЦАМИ чисел, есть ли простой способ преобразовать таблицу чисел в список? Любая информация будет оценена, приветствия!

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

1. что вы подразумеваете под таблицей? это вложенный список?

2. О, черт, извините, это список списков, так что да, это ВЛОЖЕННЫЙ СПИСОК, моя ошибка должна была проясниться. Итак, в основном я хотел бы преобразовать: [[3,4], [15,16], [19,20]] В, [3, 4, 15, 16, 19, 20]

Ответ №1:

Вы можете использовать itertools.chain

 from itertools import chain

a = [[3,4], [15,16], [19,20]]
res = list(chain.from_iterable(a))
print(res)
  

Вывод:

 [3, 4, 15, 16, 19, 20]
  

с пониманием списка

 res = [x for lst in a for x in lst]
  

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

1. @Programming55 для нахождения минимальных и максимальных значений вы можете использовать встроенные методы min() и max()