我有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}}。我没有得到我的逻辑出错的地方。
答案 0 :(得分:4)
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': {}}