具有交集和并集的元组问题的Python列表

2024-09-30 22:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

问题:

我想通过URL构造一个查询生成器。Return是元组的列表,包含参与者和参与者数据。数据库中存在数百个具有唯一id的参与者,每个参与者可以拥有不同的参与者数据。每个事件注册在数据库中创建一个新的参与者数据,通过电子邮件与参与者相关。在

e.g.: include|eventid|is|17||include|eventid|is|13__include|unsubscribed|is|True

我把它分成AND和OR查询。

^{pr2}$

或者是

From first AND Condition: 
1. include|eventid|is|17
2. include|eventid|is|13

结果语法:

[(participant_id, partidipantdata_id), (participant_id, partidipantdata_id), ...], 
e.g: [(123,1240), (123,959), (123,1124), (123,1450), (134, 1670), (156,1950), (123,1450), (156,2000), (220,2100), (234, 1754), (156,1121), (278,1556), (281,1671), (278,1771), (156,2111), (312,2254), (289,967), (278, 2178)]

问题:
·如何正确地组合(联合)OR查询(participant_id,participantdata_id)? -->;各种事件的查询需要参与者的id,查询未订阅的各种事件(存储在participantdata中的信息)需要participantdata的id
两者都需要:participant_id和participantdata_id才能得到最终结果查询。



问题:
E、 g.查询:事件17和事件13以及所有已取消订阅此事件的参与者数据。(结果:3个问题:13个参与者和17个参与者,以及系统中某个事件中有不明嫌犯的所有参与者)。
这样我就可以把参与者的身份证号17和13进行交集。不过,要想得到这个事件的所有不明嫌犯,我必须对事件13、事件17和不明嫌犯的参与者数据进行交集。但这是行不通的,因为每次活动注册都会创建一个参与者的新参与者数据。第13次和第17次访问的参与者将不匹配。这就是问题所在!

·问题在于AND查询(OR查询的结果相交)。在

非常感谢! 克里斯


Tags: orand数据id数据库urlincludeis
1条回答
网友
1楼 · 发布于 2024-09-30 22:28:34

为每个匹配的记录返回UID的^{}。{cd1>中的{-union>函数可以使用。在

对于每个可能的结果,UID必须是唯一的。在本例中,一个可能的结果是一个特定的参与者数据,它将由(participant data id,participant data id)唯一标识,因此您可以使用它,这意味着您只需返回一个set,而不是list。在

元组不是这里最有效的数据类型,但我认为这对您的情况并不重要。在

相关问题 更多 >