Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 3.7中将字典追加到列表中_Python_List_Dictionary_Flask Sqlalchemy - Fatal编程技术网

在Python 3.7中将字典追加到列表中

在Python 3.7中将字典追加到列表中,python,list,dictionary,flask-sqlalchemy,Python,List,Dictionary,Flask Sqlalchemy,问题 我有一个从MySQL数据库中获取数据的列表。使用炼金术 selectAA1 = conn.execute(' SELECT YIELD_EXPECTED_QTY as x, YIELD_ACTUAL_QTY as y FROM obj2mart') 到目前为止我得到了什么 keys = ["x", "y"] values = [] for row in selectAA1: values.append(row[0]) v

问题

我有一个从MySQL数据库中获取数据的列表。使用炼金术

selectAA1 = conn.execute('
            SELECT YIELD_EXPECTED_QTY as x, YIELD_ACTUAL_QTY as y 
            FROM obj2mart')
到目前为止我得到了什么

keys = ["x", "y"]

values = []
for row in selectAA1:
    values.append(row[0])
    values.append(row[1])
print (values)
该代码的结果是:

[3198,3198,3198,3198,3198,3198,3198,…]

我想要的是一个字典列表,将这些键映射到每个列表,即
'x'
'y'

结果应该是字典列表:

[{x:3,y:198},{x:3,y:198},{x:3,y:198},…]

我尝试过的

dictionary = {}
dictionary = dict(zip(keys, values))
print (dictionary)
但是,此代码只返回一个:

{'x':3,'y':198}

我是python的新手。有人能帮我吗

注意:我使用的是Python 3.7,一种方法是:

代码: 测试代码: 结果:
我假设您的查询根据引用行的方式返回列表列表

这会给你你想要的

dictionary = [dict(zip(keys, values)) for values in selectAA1]

您可以尝试使用内置的
\u asdict
方法将结果作为Dict。 参考:

示例代码:

for row in selectAA1:
    print(row._asdict())

[dict(zip(key,values))获取selectAA1中的值]
作为新手,使用官方发布的Python版本可能是个好主意。Python3.7是测试版,在6月之前不会发布。但是,这将指定
3
作为密钥。我想要的是将
3198
映射到x和y,结果是[{x:3,y:198}]什么?此输出完全符合您的问题所说的结果。您不必手动执行此操作,您可以使用内置方法
\u asdict()
@n33rma这是3.7方法还是在旧方法中也可用?@Usernamenotfound它不依赖于Python版本,即来自SQLAlchemy的版本,请查看我的答案以获取参考链接。
[{3: 198}, {3: 198}, {3: 198}, {3: 198}, {3: 198}]
dictionary = [dict(zip(keys, values)) for values in selectAA1]
for row in selectAA1:
    print(row._asdict())