假设我们有一个名为A
的列表:
A = [['1', '200'], ['2', '450'], ['3', '300']]
我要做的是将上述列表的列表转换成字典,第一个元素作为键,第二个元素作为值,然后我想将键和值都转换为整数。
因此它将如下:
A = {1: 200,
2: 450,
3: 300}
所有键和值都是整数。
我为此尝试了列表理解:
A = dict(zip(int(a), int(b)) for a, b in row for row in A)
出现错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'row' is not defined
答案 0 :(得分:1)
这里不需要zip()
,只需将其放下即可,您可以直接在A
上循环并解压缩为a
和b
:
A = dict((int(a), int(b)) for a, b in A)
这是一个生成器表达式,将元组传递给dict()
可调用对象。
如果可以的话,您想改用词典理解;在Python 2.7和更高版本(包括所有Python 3.x版本)中可用:
A = {int(a): int(b) for a, b in A}
演示:
>>> A = [['1', '200'], ['2', '450'], ['3', '300']]
>>> dict((int(a), int(b)) for a, b in A)
{1: 200, 2: 450, 3: 300}
>>> {int(a): int(b) for a, b in A}
{1: 200, 2: 450, 3: 300}
答案 1 :(得分:1)
ReadMe.txt