+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

pymysql-将两个不同的查询结果合并为

发布于2020-08-04 18:32     阅读(124)     评论(0)     点赞(10)     收藏(0)


我做了这样的事情:

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       

我想得到:

dan | mo | b

解决方案


尚不清楚要实现的目标,但是如果要使用列表,最简单的方法是:

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)]

如果要按列表元素比较列表中的元组,这会稍微复杂一些,但也是可行的。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接: https://www.pythonheidong.com/blog/article/471383/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

10 0
收藏该文
已收藏

评论内容:(最多支持255个字符)