python - pymysql-将两次不同查询的结果合并成

标签 python pymysql

我做了这样的事情:

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

最佳答案

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

交集=[如果nested_tuple_list2中的值则为nested_tuple_list1中的值]

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

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

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

关于python - pymysql-将两次不同查询的结果合并成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50677745/

相关文章:

Python 排序字典列表,其中包含列表

python - 如何在jupyter笔记本中安装pygame包?

python - 我的代码将 append 一个列表,但不会打印出正确的长度

python - 传递cursor.execute mysql 查询中的元素列表

MySQL 和 pymysql 一起消失了

python - Scrapy Spiders - 处理非 HTML 链接(PDF、PPT 等)

用户 root@localhost 的 mysql 访问被拒绝(使用密码 : NO) despite having set a password and entered it in connection uri

python - ModuleNotFoundError : No module named 'pymysql' in jupyter

python - 从 Google Cloud Function python3.7 连接到 Google Cloud SQL

python - Pandas 按列分组查找每组中的计数百分比