首先,我的目的是随机获取两个已知集合中的一个元素.所以我的原始方法首先交叉两组.然后从相交集中随机拾取一个元素.但这是愚蠢的,因为我只需要一个元素而不是相交集.
所以我需要找到set.intersection()的算法.
我比较了'set.intersection()'和'for {for {}}'方法之间的成本时间.Set.intersection()比其他(100次)更快.所以使用'for {for {}}'来获取随机元素并不是一个明智的想法.
python中set.intersection()背后的算法是什么?
例如,我有一个列表:
[[1,3],[23,4],[13,45,6],[8,3],[44,33,12]]
有没有什么有效的方法可以让我最终获得下面的列表?
[[1,3],[13,45,6]]
对于列表的每个长度,只保留一个元素.
例如,在开始时我想从(0,9)生成一个随机整数,
第一次,程序生成2,然后我把2放在'排除'列表中,
下次,我需要生成一个介于0到9之间的数字,并排除2.让我们说它是第二个转弯,程序生成5.
第三回合,我需要生成一个从0到9的数字,不包括2和5.
由于范围非常大(百万级),有什么方法是有效的吗?
我有很大的 MySQL 数据库。我需要快速删除重复项。这是它的外观:
id | text1 | text2|
1 | 23 | 43 |
2 | 23 | 44 |
3 | 23 | 44 |
Run Code Online (Sandbox Code Playgroud)
删除后,表的剩余部分应为:
id | text1 | text2|
1 | 23 | 43 |
3 | 23 | 44 |
Run Code Online (Sandbox Code Playgroud)
我不在乎身份证。最重要的是没有重复的项目会消失。