Питоновский способ увеличения и присвоения идентификаторов из словаря

Похоже, это довольно распространенный шаблон:

for row in reader:
    c1=row[0]
    if ids.has_key(c1):
        id1=ids.get(c1)
    else:
        currid+=1
        id1=currid
        ids[c1]=currid

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

id1=ids.get(c1) if ids.has_key(c1) else currid+1

Но тогда я застрял с увеличением currid и вставкой, если был выполнен случай else, и вставкой c->id1 в словарь, если условие if прошло.

6
задан Sid 8 March 2012 в 21:41
поделиться