2017-07-27 65 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)) 
相关问题