ValueError: требуется больше, чем 0 значений для распаковки (списки python)

Я изучаю python из класса кода Google. Я пробовал упражнения.

def front_x(words): x_list, ord_list = [] for word in words: if word[0] == 'x': x_list.append(word) else: ord_list.append(word) return sorted(x_list) + sorted(ord_list) 

Я считаю, что ошибка возникает из-за инициализации двух пустых списков в одной строке. Если при инициализации их на отдельных строках больше ошибок не возникает. Это причина?

3 Solutions collect form web for “ValueError: требуется больше, чем 0 значений для распаковки (списки python)”

Вы пытаетесь использовать назначение кортежей:

 x_list, ord_list = [] 

вы, вероятно, хотели использовать множественное назначение:

 x_list = ord_list = [] 

который не будет делать то, что вы ожидаете; используйте вместо этого следующее:

 x_list, ord_list = [], [] 

или, лучше всего:

 x_list = [] ord_list = [] 

При использовании списка имен переменных, разделенных запятыми, Python ожидает, что будет последовательность выражений в правой части, которая соответствует числовым переменным; следующее было бы законным:

 two_lists = ([], []) x_list, ord_list = two_lists 

Это называется распаковкой. Если, с другой стороны, вы пытались использовать несколько присваиваний с одним пустым списком литералов ( x_list = ord_list = [] ), то оба x_list и ord_list будут указывать на один и тот же список, и любые изменения, сделанные с помощью одной переменной, будут видны на другая переменная:

 >>> x_list = ord_list = [] >>> x_list.append(1) >>> x_list [1] >>> ord_list [1] 

Лучше держать вещи кристально чистыми и использовать два отдельных назначения, предоставляя каждой переменной свой собственный пустой список.

Изменить строку

 x_list, ord_list = [] to x_list, ord_list = [], [] 

Тип возвращаемой функции не соответствует ожидаемым значениям функции …

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

  • как я могу контролировать производительность окон обслуживания из других окон службы с помощью библиотеки win32service и командной строки cmd в python
  • Ошибка Google App Engine и 404
  • Использование и значение «in» в выражении if?
  • Python ValueError: слишком много значений для распаковки
  • Как преобразовать буквы верхнего регистра в нижний регистр
  • Как получить доступ к API каталогов в Admin SDK
  • Как вывести вывод (print, .format и т. Д.)
  • Голанский эквивалент для понимания списка Python
  •  
    Interesting Posts for Van-Lav

    Невозможно сделать переменные execfile () глобальными, а не локальными

    Документация и синтаксис для ggplot в python

    Может ли значение поля по умолчанию модели Django быть определено функцией, зависящей от внешней родительской модели?

    Очистить экран в оболочке

    Как я могу установить конкретную версию pip через easy-install? – Mac OS Mavericks

    соскабливание: вставка данных вложенных URL-адресов

    Получите максимальное значение из списка со списками?

    Как нарисовать символы Unicode на прозрачном изображении в PIL

    Может ли rpy2-код запускаться параллельно?

    Запуск приложения pyqt дважды из одного приглашения в spyder

    Изменения папки дорожки / изменения Dropbox

    В Python есть ли способ проверить объект-генератор, чтобы выяснить, какой генератор создал его?

    Команда "py.test" против "pytest"

    Передача аргументов в представления в Django из ограниченного выбора

    Python – если нет инструкции с 0.0

    Python - лучший язык программирования в мире.