几乎我需要编写一个程序来检查列表是否有任何重复项,如果有,它会删除它们并返回一个新列表,其中包含未复制/删除的项目.这就是我所拥有的,但说实话,我不知道该怎么做.
def remove_duplicates():
t = ['a', 'b', 'c', 'd']
t2 = ['a', 'c', 'd']
for t in t2:
t.append(t.remove())
return t
Run Code Online (Sandbox Code Playgroud) 在javascript中实现数组交叉的最简单,无库的代码是什么?我想写
intersection([1,2,3], [2,3,4,5])
Run Code Online (Sandbox Code Playgroud)
得到
[2, 3]
Run Code Online (Sandbox Code Playgroud) 我知道如何获得两个平面列表的交集:
b1 = [1,2,3,4,5,9,11,15]
b2 = [4,5,6,7,8]
b3 = [val for val in b1 if val in b2]
Run Code Online (Sandbox Code Playgroud)
要么
def intersect(a, b):
return list(set(a) & set(b))
print intersect(b1, b2)
Run Code Online (Sandbox Code Playgroud)
但是当我必须找到嵌套列表的交集时,我的问题就开始了:
c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63]
c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
Run Code Online (Sandbox Code Playgroud)
最后我想收到:
c3 = [[13,32],[7,13,28],[1,6]]
Run Code Online (Sandbox Code Playgroud)
你能帮我个忙吗?
可能重复:
有效地查找可变数量的字符串集的交集
说,有两个Hashset,如何计算它们的交集?
Set<String> s1 = new HashSet<String>();
Set<String> s2 = new HashSet<String>();
S1 INT S2 ?
Run Code Online (Sandbox Code Playgroud) 我想为一个名为Multiset的类创建不同的方法.
我有所有必需的方法,但我不确定如何编写交集,并集和子集方法.
对于交集和联合,我的代码如下所示:
def intersect(var)
x = Multiset.new
end
Run Code Online (Sandbox Code Playgroud)
这是一个例子:
X = [1, 1, 2, 4]
Y = [1, 2, 2, 2]
Run Code Online (Sandbox Code Playgroud)
然后的交点X
和Y
是[1, 2]
.
a = [1,2,3,4,5]
b = [1,3,5,6]
c = a and b
print c
Run Code Online (Sandbox Code Playgroud)
实际产出:[1,3,5,6]
预期产量:[1,3,5]
我们如何在两个列表上实现布尔AND操作(列表交集)?
有没有办法这样做?我在寻找但却找不到任何东西.
另一个问题:我需要这些方法,所以我可以过滤文件.有些是AND
过滤器和一些有OR
过滤器(如在集合论),所以我需要根据所有文件进行过滤和团结/交叉持有这些文件的ArrayList.
我应该使用不同的数据结构来保存文件吗?还有什么能提供更好的运行时间吗?
我想检查一个列表中的任何项目是否存在于另一个列表中.我可以使用下面的代码简单地完成它,但我怀疑可能有一个库函数来执行此操作.如果没有,是否有更多的pythonic方法来实现相同的结果.
In [78]: a = [1, 2, 3, 4, 5]
In [79]: b = [8, 7, 6]
In [80]: c = [8, 7, 6, 5]
In [81]: def lists_overlap(a, b):
....: for i in a:
....: if i in b:
....: return True
....: return False
....:
In [82]: lists_overlap(a, b)
Out[82]: False
In [83]: lists_overlap(a, c)
Out[83]: True
In [84]: def lists_overlap2(a, b):
....: return len(set(a).intersection(set(b))) > 0
....:
Run Code Online (Sandbox Code Playgroud) 我正在研究一个倒排索引的搜索程序.索引本身是一个字典,其键是术语,其值本身是短文档的字典,ID号作为键,其文本内容作为值.
为了对两个术语执行"AND"搜索,我需要与他们的帖子列表(词典)相交.在Python中做这个的明确(不一定是过于聪明)的方法是什么?我开始尝试很长的路iter
:
p1 = index[term1]
p2 = index[term2]
i1 = iter(p1)
i2 = iter(p2)
while ... # not sure of the 'iter != end 'syntax in this case
...
Run Code Online (Sandbox Code Playgroud) 问题很简单:
我有两个List
List<String> columnsOld = DBUtils.GetColumns(db, TableName);
List<String> columnsNew = DBUtils.GetColumns(db, TableName);
Run Code Online (Sandbox Code Playgroud)
我需要得到这些的交集.有没有快速实现这一目标的方法?
intersection ×10
list ×5
python ×5
java ×3
union ×2
algorithm ×1
arrays ×1
dictionary ×1
duplicates ×1
hashset ×1
iteration ×1
javascript ×1
ruby ×1
set ×1
subset ×1