我有一个清单:
[(1,'otherfield1'),(3,'otherfield3')]
数据库中名为department_user的表:
|---ID----name-----department------manager---|
----------------------------------------------
| 1 | name1 | department1 | manager1 |
----------------------------------------------
| 2 | name2 | department2 | manager2 |
----------------------------------------------
| 3 | name3 | department3 | manager3 |
..............
...........
我想“左连接”列表和表格中的行以获得以下结果:
[[1, 'name1', 'dep1', 'mgr1', 'otherfield1'], [3, 'name3', 'dep3', 'mgr3', 'otherfield3']]
我知道我可以首先使用SQL查询'(....)'来获取rowcollection,然后将结果与列表结合起来构建我想要的内容。
但是,有一种简单的方法吗?
我是Python的新手,几周前发现了一个非常有用的方法:
c.executemany(''' INSERT INTO entry (id, title) VALUES(?,?);'''
,[(item.id,item.title)for item in entryList]
)
此API可以在数据库表和Python列表之间进行“插入”。所以,我认为在这样的“加入”中可能存在类似的API:
resultlist=cursor.leftjoin("select id,title from entry where ....",[(1,"author1"),(2,"author2")....])
resultlist>>>[(1,'title1','author1'),(2,'title2','author2')]
答案 0 :(得分:0)
请注意,如果您正在寻找这个,但可能会有所帮助:
>>> otherfield=[(1,'otherfield1'),(3,'otherfield3')]
>>> mylist = [[1,'name1','dep1','mgr1'],[3,'name3','dep3','mgr3']]
>>> mydict = dict(otherfield)
>>> for row in mylist:
row+=[mydict[row[0]]]
>>> mylist
[[1, 'name1', 'dep1', 'mgr1', 'otherfield1'], [3, 'name3', 'dep3', 'mgr3', 'otherfield3']]
>>>