Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将MySQLdb.fetchall()结果(元组中的字符串和元组中的字符串)转换为字典_Python - Fatal编程技术网

Python 将MySQLdb.fetchall()结果(元组中的字符串和元组中的字符串)转换为字典

Python 将MySQLdb.fetchall()结果(元组中的字符串和元组中的字符串)转换为字典,python,Python,我有一个.fetchall()结果,如下所示: t=('oranges',),('apples',),('pears',) 如何将其转换成这样的词典: d={'oranges':None,'apples':None,'pears':None}在Python2.7或更高版本中,最快的方法是使用dict理解: >>> t = (('oranges',), ('apples',), ('pears',) >>> dict((item[0], None) fo

我有一个.fetchall()结果,如下所示:

t=('oranges',),('apples',),('pears',)

如何将其转换成这样的词典:


d={'oranges':None,'apples':None,'pears':None}

在Python2.7或更高版本中,最快的方法是使用dict理解:

>>> t = (('oranges',), ('apples',), ('pears',)    
>>> dict((item[0], None) for item in t)
{'pears': None, 'apples': None, 'oranges': None}
In [12]: {item[0]: None for item in t}
Out[12]: {'apples': None, 'oranges': None, 'pears': None}
对于较早版本的Python,有fromkeys方法:

In [6]: dict.fromkeys([row[0] for row in t])
Out[6]: {'apples': None, 'oranges': None, 'pears': None}

那么如何决定使用哪一个呢?如果所有方法都具有相同的可读性,我选择最快的方法:

在[17]中:t=[(str(i),)表示范围(10000)内的i]


在Python2.7或更高版本中,最快的方法是使用dict理解:

In [12]: {item[0]: None for item in t}
Out[12]: {'apples': None, 'oranges': None, 'pears': None}
对于较早版本的Python,有fromkeys方法:

In [6]: dict.fromkeys([row[0] for row in t])
Out[6]: {'apples': None, 'oranges': None, 'pears': None}

那么如何决定使用哪一个呢?如果所有方法都具有相同的可读性,我选择最快的方法:

在[17]中:t=[(str(i),)表示范围(10000)内的i]


谢谢,我希望有一天能掌握这个窍门:)谢谢,我希望有一天能掌握这个窍门:)