pymysql-将两个不同查询的结果组合成

时间:2018-06-04 09:48:11

标签: python pymysql

我做过这样的事情:

private void Canvas_MouseMove(object sender, MouseEventArgs e)
{
    if (Mouse.DirectlyOver == sender)
    {
        //your code...
    }
    //else, i.e. when the mouse moves over the TextBox or another child element, do nothing
}

我希望得到两个查询的共同结果。关于我能做什么的任何想法?

我需要的一个例子:

sql_query1=...
sql_query2=...

cur.execute(sql_query1,(actorId1,actorId2))
results1=cur.fetchall()

cur.execute(sql_query2,(actorId1,actorId2)) 
results2=cur.fetchall()

nested_tuple_list1=[]
for result in results1:
    nested_tuple_list1.append(result) 

return(nested_tuple_list1) 

nested_tuple_list2=[]
for result in results2:
    nested_tuple_list2.append(result) 

return(nested_tuple_list2) 

我想得到:

jim | tim | a      jim | dan | b
dan | mo  | b      dan | mo  | b
jim | dan | c       

1 个答案:

答案 0 :(得分:1)

有点不清楚你想要实现的目标,但如果你正在使用列表,最简单的方法是:

intersection=[value for value in nested_tuple_list1 if value in nested_tuple_list2]

以上也适用于列表中的元组,假设您将元组作为一个整体进行匹配,而不是其中的元素。例如,

a=[(1, 2), (18, 3), (9, 8), (11, 83)]
b=[(4, 3), (8, 47), (42, 77), (1, 2), (3, 18)]

intersection=[value for value in a if value in b]

我得到的结果是:

[(1, 2)]

如果你想比较列表元素中的元组,它有点复杂但也可行。