To wydaje się być dość powszechne wzór:pythonowy sposób, aby zwiększyć i przypisać identyfikatory ze słownika
for row in reader:
c1=row[0]
if ids.has_key(c1):
id1=ids.get(c1)
else:
currid+=1
id1=currid
ids[c1]=currid
Chcę wiedzieć, czy istnieje lepszy sposób na osiągnięcie tego celu. Jeśli chodzi o pojedynczej linii if iść, mogę to zrobić dużo:
id1=ids.get(c1) if ids.has_key(c1) else currid+1
Ale potem utknąłem z zwiększając currid i trzymanie jeśli sprawa jeszcze został stracony i trzymanie C-> ID1 do słownika Jeśli jeśli stan minął.
To całkiem urocze. – kindall
To jest idealne! Przyjmę, gdy tylko to pozwoli. – Sid
Śmieszne; Wysłałem [tę odpowiedź] (http://stackoverflow.com/a/9619677/166749) wcześniej dzisiaj i faktycznie [używane] (https://github.com/larsmans/scikit-learn/commit/86f621b1c738bd2b6d50a663b117500eae2fd63f#L1R79) to idiom tylko wczoraj. –