我开始使用像这样的列表
lists = [['test', '1', '-1', '0', '-1'],['test2', '0', '1', '0', '-1']
我最终想要的是{'test': [1, -1, 0, -1], 'test2': [0, 1, 0, -1]}
基本上,我需要从列表中创建一个字典。字典的值必须是整数而不是字符串。
这是我的非工作代码:
endResult = dict()
for x in lists:
for y in x:
endResult.update({x[0]:int(y)})
答案 0 :(得分:1)
endResult = {}
for x in lists:
endResult[x[0]] = [int(y) for y in x[1:]]
示例:
>>> lists = [['test', '1', '-1', '0', '-1'],['test2', '0', '1', '0', '-1']]
>>> endResult = {}
>>> for x in lists:
... endResult[x[0]] = [int(y) for y in x[1:]]
...
>>> endResult
{'test2': [0, 1, 0, -1], 'test': [1, -1, 0, -1]}
答案 1 :(得分:1)
您可以使用dict
comprehension:
>>> lists = [['test', '1', '-1', '0', '-1'],['test2', '0', '1', '0', '-1']]
>>>
>>> endResult = { li[0]: map(int, li[1:]) for li in lists }
>>> endResult
{'test': [1, -1, 0, -1], 'test2': [0, 1, 0, -1]}
答案 2 :(得分:0)
这应该可行:
endResult = dict()
for x in lists:
testname, testresults = x[0], x[1:]
endResult[testname] = [int(r) for r in testresults]
如果发生了什么: