jinglei
jinglei

Reputation: 3363

python-How to solve KeyError: 2?

I have a dict which is formatted as {int:[]}

When I was trying to set value to a key-value pair where the value list is NULL, I got KeyError: 2

tags = {}
tags.setdefault(int,[])
for tag_id in (db.session.query(PostTagRel).filter(PostTagRel.id == post_id).first().tag_id.split(',')):
            tag = db.session.query(Tag).filter(Tag.tag_id == tag_id).first().tag_name
            tags[post_id].append(tag)

What should I do?

Upvotes: 8

Views: 70197

Answers (2)

user20394963
user20394963

Reputation: 1

It might be because of index formatting not properly done: just try

df.reset_index(inplace = True)

Upvotes: 0

user2390182
user2390182

Reputation: 73498

In order to set a general default value for all keys, you can use defaultdict:

from collections import defaultdict

d = defaultdict(list)    
d[0].append(1)

Upvotes: 8

Related Questions