найти максимум списка во вложенных списках

Более общий ответ заключался бы в том, что тело класса относится к объявлениям, а не к утверждениям. Существует специальное условие для выражений, происходящих в классе, но они должны быть помечены явно как инициализаторы классов или инициализаторы экземпляров.

0
задан thamizh selvan 16 January 2019 в 17:27
поделиться

3 ответа

Вы также можете преобразовать свой вложенный список в Pandas Dataframe и использовать функцию max. Тогда вам не придется беспокоиться о петлях.

In [350]: import pandas as pd

In [342]: l = [[1, 3, 45, 6, 8], [2, 4, 56, 7]]

In [343]: pd.DataFrame(l)
Out[343]: 
   0  1   2  3    4
0  1  3  45  6  8.0
1  2  4  56  7  NaN

In [347]: pd.DataFrame(l).max(axis=1).tolist()
Out[347]: [45.0, 56.0]
0
ответ дан Mayank Porwal 16 January 2019 в 17:27
поделиться

У вас есть 2D-список, и вы пытаетесь вернуть список максимумов для каждого элемента в этом 2D-списке. Выполните итерацию по списку 2D и возьмите максимум для каждого элемента:

res = [max(i) for i in nested_list]

Кроме того, вы также можете использовать map:

res = list(map(max, nested_list))
0
ответ дан Primusa 16 January 2019 в 17:27
поделиться

Вы можете использовать понимание списка , которое берет максимум для каждого подсписка l:

b = [[1, 3, 45, 6, 8], [2, 4, 56, 7]]
c = [max(l) for l in b]

print(c)

Вывод

[45, 56]

Вышеупомянутое понимание списка эквивалентно следующему для цикла:

c = []
for l in b:
    c.append(max(l))
0
ответ дан Daniel Mesejo 16 January 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: