Как найти наименьшее, наибольшее значение, общее и среднее значение в 2D-списке, который пользователь предоставляет в python? - PullRequest
0 голосов
/ 14 сентября 2018

Как найти наименьшее, наибольшее значение, общее и среднее значение в 2D-списке, который пользователь предоставляет в python?

Ответы [ 3 ]

0 голосов
/ 14 сентября 2018

Вы можете сначала сплющить его.

a = [[1, 2], [3, 4]]
flattened = [num for sublist in a for num in sublist]
min_val = min(flattened)
max_val = max(flattened)
sum_val = sum(flattened)
avg_val = sum(flattened) / len(flattened)

Так что в вашем случае это будет:

def list_stats(a):
    flattened = [num for sublist in a for num in sublist]
    min_val = min(flattened)
    max_val = max(flattened)
    sum_val = sum(flattened)
    avg_val = sum_val / len(flattened)
    return min_val, max_val, sum_val, avg_val

#Testing
a = [[1.2,3.5],[5.5,4.2]]
small, large, total, average = list_stats(a)
0 голосов
/ 14 сентября 2018

попробуйте это:

def list_stats(a):
    total = 0
    counter = 0 
    small = 99999
    large = -999
    for x in a:
        for y in x:
            if y < small: 
                small = y
            if y > large:
                large = y
            counter += 1
            total += y
    average = total / counter
    return small, large, total, average 

Мне больше нравится ответ Эрика

0 голосов
/ 14 сентября 2018

Это то, что я имею до сих пор:

    a = [[]]
    total = 0
    counter = 0 
    small = a[0][0]
    for i in a: 
        if i > small:
            return True 
            total += i 
            counter += 1 
    average = total / counter
    return small, large, total, average 

#Testing
a = [[1.2,3.5],[5.5,4.2]]
small, large, total, average = list_stats(a)

Я получаю следующие две ошибки: маленькая, большая, общая, средняя = list_stats (a) small = a [0] [0] IndexError: индекс списка вне диапазона

Функция list_stats не определена.

a = [[]] - это список, который содержит пустой список. a[0][0] - это элемент, который не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...