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

Что означает эта ошибка?

labels, freq = zip(*terms_hash)
ValueError: not enough values to unpack (expected 2, got 0) 

Когда я просто печатаю условия, ошибки нет.

код:

fname = 'stream.json'
with open(fname, 'r') as f:
    print('alle Hashtags')
    count_all = Counter()
    for line in f:
        tweet = json.loads(line)
# Count hashtags only

        terms_hash = [term for term in preprocess(tweet['text']) 
              if term.startswith('#')]

        # Update the counter
        count_all.update(terms_hash)

        terms_hash = count_all.most_common(5)

        labels, freq = zip(*terms_hash)
        data = {'data': freq, 'x': labels}
        bar = vincent.Bar(data, iter_idx='x')
        bar.to_json('term_freq.json')    


    # Print the first 5 most frequent words
    print(count_all.most_common(5))

person simplesystems    schedule 29.10.2015    source источник
comment
Подсказка: минимально воспроизводимый пример — a, b = zip(*[])   -  person jonrsharpe    schedule 29.10.2015
comment
Как выглядит terms_hash при печати?   -  person Cleb    schedule 29.10.2015
comment
термины выглядят так при распечатке: все хэштеги [('#WahlCH15', 956), ('#SVP', 215), ('#wahlch15', 156), ('#wahlCH15', 124), (' #Путешествуй по Миру', 101)]   -  person simplesystems    schedule 29.10.2015
comment
@Adam Smith Итак, вы никогда не делали учебник, и у вас были такие проблемы или ошибки, которые вы не понимали?   -  person simplesystems    schedule 29.10.2015


Ответы (1)


Это означает, что python ожидал, что zip() вернет два значения, но их не было.

person John Gordon    schedule 29.10.2015
comment
но есть значения в: terms_hash - person simplesystems; 29.10.2015
comment
@simplesystems Либо ваш переводчик не прав, либо вы. - person Adam Smith; 29.10.2015
comment
странно, когда я делаю это с другими терминами (не с hash_terms), тогда это работает - person simplesystems; 29.10.2015
comment
похоже, что это не работает с терминами, у которых есть «#» в начале - person simplesystems; 29.10.2015