2014年1月23日木曜日

Python リストからディクショナリにする簡単な方法

いい感じのやりかた2種

・簡潔版

List=['zero',0,'one',1,'two',2,'three',3]#一個飛ばしで表記

def listToDict(List):#簡潔に書ける
return dict(zip(List[:-1:2], List[1::2]))

Dict=listToDict(List)
print 'all in Dict = ' , Dict print 'Dict["one"] = ' , Dict['one']

・高速、汎用版
List=['zero',0,'one',1,'two',2,'three',3] #一個飛ばしで表記
def pairwise(iterable): #高速かつ汎用性に長けた方法
itnext = iter(iterable).next
while 1:
yield itnext(), itnext()
Dict=dict(pairwise(List))
print Dict
print Dict['zero']