pan*_*ish 0 python mysql tuples list
我有一个mysql调用:
zip = 48326
cursor.execute ("""
select distinct(name)
from usertab
where zip= %s
""" , (zip))
result = cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)
结果返回一个如下所示的元组:
result = (('alan',), ('bob',), ('steve',), ('tom',))
Run Code Online (Sandbox Code Playgroud)
但我需要一个这样的列表:
mylist= ['alan', 'bob', 'steve', 'tom']
Run Code Online (Sandbox Code Playgroud)
所以我将元组处理成这样的列表:
mylist = []
for row, key in enumerate(result):
for col, data in enumerate(key):
mylist.append(data)
Run Code Online (Sandbox Code Playgroud)
这段代码有效,但我想要一种更简单的方法.
如何直接将mysql单列结果提取到列表中?
这样做,使用列表理解:
mylist = [row[0] for row in result]
Run Code Online (Sandbox Code Playgroud)
它将展平您的结果并从中创建列表.
另一种方法,没有列表理解:
from itertools import chain
mylist = list(chain.from_iterable(result))
Run Code Online (Sandbox Code Playgroud)
它将展平结果并将其转换为列表.