Python 将列表改成字典

Python 将列表改成字典,python,Python,我正在尝试将格式为[[“bill”,21],“kevin”,42],“gail”,20]]的列表更改为格式为{“bill”:21,“kevin”:42,“gail”:20}的词典。有没有一种简单的方法可以做到这一点?这个dict()构造函数接受一个由2个大小的iterable组成的iterable。因此,您只需在列表中调用dict: In [11]: L = [['bill', 21], ['kevin', 42], ['gail',20]] In [12]: dict(L) Out[12]:

我正在尝试将格式为
[[“bill”,21],“kevin”,42],“gail”,20]]
的列表更改为格式为
{“bill”:21,“kevin”:42,“gail”:20}
的词典。有没有一种简单的方法可以做到这一点?

这个
dict()
构造函数接受一个由2个大小的iterable组成的iterable。因此,您只需在列表中调用
dict

In [11]: L = [['bill', 21], ['kevin', 42], ['gail',20]]

In [12]: dict(L)
Out[12]: {'bill': 21, 'kevin': 42, 'gail': 20}

要将字典值转换为整数,请使用以下代码:

>>> text=[["bill", '21'], ["kevin", '42'], ["gail",'20']]
>>> dict([[i,int(j)] for i,j in text])
{'bill': 21, 'kevin': 42, 'gail': 20}

谢谢,但我还有一个问题-你所做的工作已经奏效,但当我从文件导入我的列表时,它将数字作为字符串[['bill','21'],['kevin','42'],]输入。所以当我切换到dictionary时,我得到了{'bill':'21','kevin':'42',gail':'20'}你能想出一种方法将'21'键值转换成一个直的21整数吗?@user3864194你可以用正确的值制作第二个列表,然后输入dict(),例如,
l2=[[v[0],float(v[1]),用于l中的v]
>>> text=[["bill", '21'], ["kevin", '42'], ["gail",'20']]
>>> dict([[i,int(j)] for i,j in text])
{'bill': 21, 'kevin': 42, 'gail': 20}