标签: set-intersection

Python:查找两个列表的交集的相应索引

这与我今天不久前提出的问题有些相关.我正在采取以下两个列表的交集:

    inter = set(NNSRCfile['datetimenew']).intersection(catdate)
Run Code Online (Sandbox Code Playgroud)

我所采取的两个组件属于两个冗长的列表.是否有可能得到相交值的指数?(原始列表的索引).

我不太确定从哪开始.

任何帮助是极大的赞赏!

python indices set-intersection

4
推荐指数
1
解决办法
6178
查看次数

在 R 中向维恩图添加百分比

我正在尝试为维恩图的每个部分添加百分比。我曾尝试使用 paste 将圆圈标题与百分比连接起来。然而,不幸的是,这并不完全有效,因为它只提供每个独立组的百分比,而不提供每个交叉点的百分比,因为交叉点没有标题。理想情况下,我希望百分比在圆圈内。例如,我希望中间的三重交叉点(工作、学习、娱乐)表示“83, 20.54%”,而不是当前表示的“83”。

以下是我正在使用的代码的基本示例:

g = draw.triple.venn(
  area1 = 396,
  area2 = 273,
  area3 = 147,
  n12 = 266,
  n23 = 86,
  n13 = 143,
  n123 = 83,
  category = c("Study", "Work", "Play"),
  fill = c("blue", "red", "green"),
  euler.d=TRUE,
  scaled=TRUE, ind = FALSE,
)

require(gridExtra)
grid.arrange(gTree(children=g), main="Title", sub="subtitle")
Run Code Online (Sandbox Code Playgroud)

r percentage venn-diagram set-intersection

4
推荐指数
3
解决办法
6358
查看次数

设置交集大小而不分配

给定 2 个集合(C++),有一种方便的方法可以在不进行任何分配的情况下获取交集的大小(如 std::set_intersection 所做的那样)

当然,我可以复制减去分配的实现,但我总是不愿意重新发明轮子

int count = 0;
while (first1!=last1 && first2!=last2)
{
    if (*first1<*first2) ++first1;
    else if (*first2<*first1) ++first2;
    else {
        count++; ++first1; ++first2;
    }
 }
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用 std::set_intersection 并传递“计数”迭代器......?

c++ set-intersection

4
推荐指数
1
解决办法
359
查看次数

比较javascript中常见值的未指定数量的数组

我想知道如何比较两个或更多 - 可能是无限的 - 数组的常见值,并有效地将这些值推入一个新的数组.下面我有一个函数可以接受无限的参数,但我不确定这是否是一个好的开始.PHP似乎有一个方法可以做我想要的array_intersect.javascript提供类似的东西吗?

注意:我已经找到了如何使用两个左右的数组来完成此示例的示例,但我还没有找到如何将此类方法应用于未指定数量的数组的示例.因此,我不认为这是一个重复的问题.

为了进一步澄清,阵列可能充满了任何东西.字母,数字,符号,单词,你的名字,它可能在那里.

var sampleOne = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
var sampleTwo = [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18];

function FindDirectRelation() {
    for(var i = 0; i < arguments.length; ++i) {
        console.log(arguments[i]);
        

    };
};

var directRelation = FindDirectRelation(sampleOne, sampleTwo);
Run Code Online (Sandbox Code Playgroud)

我仍然是编码新手,所以请确保以一种简单易懂的方式解释所有内容.

javascript arrays compare set-intersection

4
推荐指数
1
解决办法
93
查看次数

在两个Matlab矩阵之间找到相等的行

我有一个矩阵index在Matlab与尺寸GxN和矩阵A与尺寸MxN.

在提出我的问题之前,让我举一个例子.

clear
N=3;
G=2;
M=5;

index=[1  2  3;
       13 14 15]; %GxN

A=[1  2  3; 
   5  6  7; 
   21 22 23; 
   1  2  3;
   13 14 15]; %MxN
Run Code Online (Sandbox Code Playgroud)

我想您的帮助,以构建一个矩阵Response,大小GxMResponse(g,m)=1行是否A(m,:)等于index(g,:)否则为零.

继续上面的例子

Response= [1 0 0 1 0; 
           0 0 0 0 1]; %GxM
Run Code Online (Sandbox Code Playgroud)

这段代码做了我想要的(取自我之前的一个问题 - 只是为了澄清:当前的问题是不同的)

Response=permute(any(all(bsxfun(@eq, reshape(index.', N, [], G), permute(A, [2 3 4 1])), 1), 2), [3 4 1 …
Run Code Online (Sandbox Code Playgroud)

performance matlab rows matrix set-intersection

4
推荐指数
2
解决办法
82
查看次数

使用带有set_intersection的地图

之前没有使用过set_intersection,但我相信它可以用于地图.我编写了以下示例代码,但它没有给出我期望的内容:

#include <map>
#include <string>
#include <iostream>
#include <algorithm>

using namespace std;

struct Money
{
    double amount;
    string currency;

    bool operator< ( const Money& rhs ) const
    {
        if ( amount != rhs.amount )
            return ( amount < rhs.amount );
        return ( currency < rhs.currency );
    }
};

int main( int argc, char* argv[] )
{
    Money mn[] =
    {
        { 2.32,  "USD" },
        { 2.76,  "USD" },
        { 4.30,  "GBP" },
        { 1.21,  "GBP" },

        { 1.37,  "GBP" }, …
Run Code Online (Sandbox Code Playgroud)

c++ stl set-intersection

3
推荐指数
2
解决办法
4205
查看次数

C++比较2个字符串列表

在Python中,set非常方便用于比较2个字符串列表(请参阅此链接).我想知道在性能方面是否有一个很好的C++解决方案.因为每个列表中有超过100万个字符串.

这是区分大小写的匹配.

c++ performance string-matching set-intersection

3
推荐指数
1
解决办法
5932
查看次数

python中的三组交集?

目前我被困在试图找到三组的交集.现在这些集合实际上是我要转换成集合的列表,然后尝试找到它的交集.

这是我到目前为止所拥有的:

for list1 in masterlist:
    list1 = thingList1
for list2 in masterlist:
    list2 = thingList2
for list3 in masterlist:
    list3 = thingList3

d3 = [set(thingList1), set(thingList2), set(thingList3)] 
setmatches c = set.intersection(*map(set,d3)) 
print setmatches
Run Code Online (Sandbox Code Playgroud)

而且我正在

set([]) 
Script terminated.
Run Code Online (Sandbox Code Playgroud)

我知道有一个更简单,更好的方法来做到这一点,但我找不到一个......

编辑

好的,这就是我现在所拥有的.

setList=()
setList2=()
setList3=()

for list1 in masterlist:
    setList=list1
    for list2 in masterlist:
        setList2=list2
        for list3 in masterlist:
            setList3=list3



setmatches=set(setList) & set(setList2) & set(setList3)
print setmatches
Run Code Online (Sandbox Code Playgroud)

仍然没有给我我正在寻找的东西:这是我确保在每个列表中的一个匹配.它给了我看起来像是所有套装的补充.

python intersection set set-intersection

3
推荐指数
1
解决办法
5992
查看次数

R中的多个列表交集

我有4个清单

a <- list(1,2,3,4)
b <- list(5,6,7,8)
c <- list(7,9,0)
d <- list(12,14)
Run Code Online (Sandbox Code Playgroud)

我想知道哪些列表有共同的元素.在此示例中,列出bc具有共同的元素7.

蛮力方法是采用每个列表组合并找到交叉点.在R中还有其他有效的方法吗?

另一种方法是从所有列表中制作单个列表并找到重复的列表.那么也许我们可以有一个映射函数来指示这些重复项来自哪些原始列表.但我不确定如何做到这一点.我遇到过这篇文章

查找重复行的索引

我在想是否可以修改它以找出具有重复项的实际列表.

我必须为许多列表组重复此过程.任何建议/想法都非常感谢!提前致谢

r list set-intersection

3
推荐指数
1
解决办法
1273
查看次数

联合和java集的交集

Set在java中建立联合或s 交集的最简单方法是什么?我已经看到了这个简单问题的一些奇怪的解决方案(例如手动迭代这两个集合).

在此输入图像描述 在此输入图像描述

java collections set set-intersection set-union

3
推荐指数
3
解决办法
1万
查看次数