如何用不同的参数形成字典?

时间:2014-08-18 21:43:52

标签: python list class dictionary set

我有class Test类参数

parameters = {'first': [1,2,3,4], 'second': [5,6,7]}。我想将其转换为字典,以便"{'Test': 'first':1 'second':5}"

我尝试的是: di = {} di = dict(itertools.izip(name, vals))

我获得测试,即变量名中的classnane,即name = Test

vals = {'first': [1,2,3,4], 'second': [5,6,7]} 虽然我希望它为"{'Test': 'first':1 'second':5}",但不应该打印"{'Test': 'first':[1,2,3,4] 'second':[5,6,7]}" ??相反,当我打印di时,我得到的是{'Test': 'first'}。{{1}}。我没有得到我的逻辑出错的地方。

4 个答案:

答案 0 :(得分:4)

使用dictionary comprehension

subjects = ['Physics', 'Chemistry', 'Maths']
{subject: {} for subject in subjects}

答案 1 :(得分:2)

如果您使用的是Python 2,则可以使用dict()构造函数:

subjects =  ['Physics', 'Chemistry', 'Maths']
dict(((subject, {}) for subject  in subjects))

如果您使用的是Python 3,则可以使用dictionary comprehension

subjects =  ['Physics', 'Chemistry', 'Maths']
{subject: {} for subject in subjects}

答案 2 :(得分:1)

尝试使用dict理解:

输入:

{x: {} for x in ['Physics', 'Chemistry', 'Maths']}

输出:

{'Maths': {}, 'Chemistry': {}, 'Physics': {}}

答案 3 :(得分:0)

这是一个基本的循环。 Itertools是这种东西复杂的方式。

>>> l = ['Physics', 'Chemistry', 'Maths']
>>> d = {}
>>> for i in l:
    d[i] ={}


>>> d
{'Chemistry': {}, 'Physics': {}, 'Maths': {}}