Ошибка значения Python: недостаточно значений для распаковки

Получите следующую ошибку в коде, не знаете, что это значит или что я сделал неправильно. Просто попробуйте инициализировать три значения списка для пустых коллекций:

нба , НФЛ , MLB = [] ValueError : не достаточно значения для распаковки ( ожидается , 3 , получили 0 ) "Ланг-ру prettyprint Аккуратно"> 
 a,b,c = 1,2,3

python,python-3.x,

-1

Ответов: 4


1 принят

Это пытается распаковать, как сказано в сообщении об ошибке, итерабельную с правой стороны на три переменные с левой стороны, так, например, после запуска a == 1 and b == 2 and c == 3вы получаете .a,b,c = [],[],[]

В вашем случае этот итерабельный пуст, поэтому «не хватает значений для распаковки»: есть три переменные, но нет значений в итерабельном (итерабельность - пустой список). Вам нужно следующее:

a,b,c

Здесь у вас есть три переменные, [],[],[]и рассмотренный выше итеративный вариант - это кортеж в этом случае.nba,nfl,mlb = [],[],[]


1

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

nba,nfl,mlb = [[] for _ in range(3)]

1

Другой вариант, если вы хотите распаковать генератор, например:

=

1

в основном означает, что левая сторона имеет больше значений, чем правая часть =

nba = nfl = mlb = []должен получить три значения списка, инициализированные для пустых коллекций. Так чтоnba, nfl, mlb = [], [], []

питон, питон-3.x,
Похожие вопросы