Python 将MySQLdb.fetchall()结果(元组中的字符串和元组中的字符串)转换为字典
我有一个.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
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]
谢谢,我希望有一天能掌握这个窍门:)谢谢,我希望有一天能掌握这个窍门:)