Python值错误:没有足够的值可解包

时间:2018-08-24 18:31:22

标签: python python-3.x

在代码中得到以下错误,不确定是什么意思或我做错了什么。只是尝试将三个列表值初始化为空集合:

nba,nfl,mlb = []
ValueError: not enough values to unpack (expected 3, got 0)

4 个答案:

答案 0 :(得分:2)

问题是,左侧值不足以分配给左侧的变量数,所以应该这样做

Type of conditional expression cannot be determined as theer is no implicit conversion between int and null..

答案 1 :(得分:1)

这将尝试按照错误消息所述将右侧的可迭代变量解压缩为左侧的三个变量,因此,例如,在运行a,b,c = 1,2,3后,您将得到a == 1 and b == 2 and c == 3

在您的情况下,此可迭代项为空,因此“没有足够的值要解压”:有三个变量,但可迭代项中没有值(可迭代项为空列表)。您需要以下内容:

a,b,c = [],[],[]

在这里,您有三个变量a,b,c,在这种情况下,上面讨论的可迭代项是元组[],[],[]

答案 2 :(得分:1)

如果要解压缩生成器,则为另一个选项:

[(1, "a"), (2, "b"), (3,"c")]

答案 3 :(得分:1)

基本上意味着左侧的值大于=

的右侧的值

nba = nfl = mlb = []应该会为您提供三个初始化为空集合的列表值。 nba, nfl, mlb = [], [], []

也应该如此