2013-04-07 29 views
0

我想打開一個列表('a','b','c'){'1':'a','2':'b','3':'c'}Python:dict理解從列表中鍵和值是字符串?

d = {key: value for key, value in targets} 

返回鍵爲整數,我需要它來存儲爲一個字符串,這樣我可以追加一個字符串到每個鍵,以便最終我將結束了

{'column1','a','column2','b','column3'} 

回答

5

只投中關鍵str()enumerate()

d = {str(i): value for i, value in enumerate(targets)} 

或使用,如果你需要一個字符串,放在按鍵格式:在一個字典理解

d = {'column{}'.format(i): value for i, value in enumerate(targets)} 

的關鍵和值表達式是正義的,Python表達式。

+1

太酷了,根本無法在Java中做到這一點 – KJW 2013-04-07 18:27:31

+0

btw我在逗號得到語法錯誤 – KJW 2013-04-08 18:31:51

+1

@KimJongWoo:在Python 2.7中添加了dict comprehension語法;在早期版本中使用'dict(('column {}'.format(i),value)for i,value in enumerate(targets))''。 – 2013-04-08 19:43:23