2017-07-27 70 views
0

我有一個Python列表如下:在列表中增加一個獨立的字符串的每個項目

new_list = ['emp_salary', 'manager_sal'] 

我想將它更改爲以下:

['emp_salary' : 'float', 'manager_sal':'float'] 

我想是這樣的:

>>> users_cols = [l+ ": float" for l in new_list] 
    >>> users_cols 
     ['emp_salary: float', 'manager_sal: float'] 

但它不完全是我想要的。實際的清單是非常大的,這是一個小例子

+0

所需輸出是不是有效的Python。你想做什麼? – asongtoruin

+2

'['emp_salary':'float','manager_sal':'float']'是無效的Python語法。你真的想要'{'emp_salary':'float','manager_sal':'float'}'? –

+1

你想創建一個字典對象'{'emp_salary':'float','manager_sal':'float'}'? – nanojohn

回答

1

對於completedness起見:

new_list = ['emp_salary', 'manager_sal']  
new_dict = dict.fromkeys(new_list, "float") 

請注意,只有當您希望每個密鑰具有相同的值時,這纔有效。不要用它來聲明你的可變值(比如sets,lists,dictionaries ...),除非你想讓它們都指向同一個實例。

+0

確實。例如,'dict.fromkeys(new_list,[])'將使所有'dict'值與'list'相同,這通常是不希望的。 –

1

爲此,您可以正確地定義和初始化的字典:

new_list = ['emp_salary', 'manager_sal'] 
users_cols = {} 
for key in new_list: 
    users_cols[key] = 'float' 
1
new_list = ['emp_salary', 'manager_sal'] 
new_dict = {key: 'float' for key in new_list} 
1

在列表中有你需要字典沒有這樣的事情爲此,其存儲鍵值對:

users_col = { key: "float" for key in new_list } 
0

你可以試試這個:

new_list = ['emp_salary', 'manager_sal'] 

final_dict = dict(map(lambda x: (x, "float"), new_list)) 
相關問題