#python-3.x #deep-learning
#python-3.x #глубокое обучение
Вопрос:
Я пытаюсь классифицировать обзоры в наборе данных imdb с помощью глубокого обучения. Здесь у меня есть список списков переменного размера. Мне интересно найти список с максимальным размером среди этих списков переменного размера. Но я получаю разные результаты от 2-х разных методов. кто-нибудь может сказать, что правильно.
мой код выглядит следующим образом:-
from keras.datasets import imdb
from keras.layers import Dense
from keras.models import Sequential
#importing datasets
(x,y),(xtest,ytest) = imdb.load_data(num_words = 10000)
#trying for loop method
max(max(i) for i in x)
#trying max method
max(max(x, key = len))
Метод for-loop генерирует 9999, тогда как метод max генерирует 9890.
Заранее спасибо
Комментарии:
1.
max(i)
получает максимум по значению, а остальное по длине. Рассмотрим: ‘009’ и ’90’.max(i)
возвращает 90, в то время как other возвращает 009.2. @Austin Спасибо за пример
Ответ №1:
Предполагая, что x — это список списков, max(x, key = len)
вы получаете самый длинный список в x
, поэтому, когда вы это делаете max(max(x, key = len))
, вы получаете максимальный элемент внутри самого длинного списка, что не то, что вы хотите. Удалите внешний max
, и он должен работать так, как ожидалось.
Комментарии:
1. Спасибо за разъяснение.