使用psycopg2查询postgres的结果如下所示:
[(1, 20386, 3), (2, 20386, 5), (3, 20386, 5), (1, 20387, 2), (2, 20387, 2), (3, 20387, 3), (1, 20390, 3), (2, 20390, 3), (3, 20390, 3)]
我需要重新排序结果(至少在PHP中),它看起来像这样:
user['20386'][1]=3
user['20386'][2]=5
user['20386'][3]=5
user['20387'][1]=2
user['20387'][2]=2
user['20387'][3]=3
user['20390'][1]=3
user['20390'][2]=3
user['20390'][3]=3
您可以将数据转换为列表字典:
>>> user = {}
>>> for key in {item[1] for item in data}:
... user[key] = [item[2] for item in data if item[1] == key]
user
看起来像这样:
>>> user
{20386: [3, 5, 5], 20387: [2, 2, 3], 20390: [3, 3, 3]}
请注意,列表从0开始索引:
>>> user[20386]
[3, 5, 5]
>>> user[20386][0]
3
>>> user[20386][1]
5