标签: intersection

比较Python嵌套列表

我有两个嵌套列表,每个嵌套列表包含两个字符串,例如:

list 1 [('EFG', '[3,4,5]'), ('DEF', '[2,3,4]')] and list 2 [('DEF', '[2,3,4]'), ('FGH', '[4,5,6]')]
Run Code Online (Sandbox Code Playgroud)

我想比较两个列表并恢复那些彼此相同的嵌套列表.在这种情况下,只会('DEF','[2,3,4]')返回.这些清单可能会很长.有没有一种有效的方法来做到这一点?

python nested intersection list

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

C#:2D子平铺线交叉点

我有一些问题让我的游戏算法工作,希望这里有人可以帮助我.谷歌似乎并不是一个很好的帮助,因为大多数解决方案只适用于完整的瓷砖.

在游戏中,单位可以占据拼图内部的不同位置,即它们可以位于拼图的左上角,中间,右下角,...位置(2/3),即(2.2/3.1),(2.5/3.5) ),(2.8/3.9).

如果他们从位置(2.2/3.1)移动到(5.7/4.1),我需要检查路径中是否有障碍物.

我目前的算法是:

  1. 从(2.2/3.1)开始
  2. 计算运动角度(即70度)
  3. 朝这个方向移动0.1步
  4. 检查我在哪个瓷砖(地板(pX)/地板(pY))
  5. 重复2

这个算法有效,但对我来说它看起来不是很有效,因为障碍物只能是一个完整的瓦片,而不是瓦片的一部分(单元不会碰撞).如果我增加步长,我开始错过仅略微交叉的瓷砖(即,您只穿过最左边的角).即使步长为0.1,仍然可能错过障碍物.

我试图找到一个解决方案,采取分图(与弯道所有瓷砖(地板(start.X)/楼(start.Y))和(小区(start.X)/小区(start.Y)),移动通过每个瓷砖并以数学方式检查它是否越过.可悲的是,我似乎缺乏这项检查所需的数学知识.

我的最后一个想法是将一个瓷砖的所有4个边框作为一条线并进行直线交叉,但这似乎比我原来的方法慢.

任何提示?

谢谢.

c# 2d intersection tiles line-intersection

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

如何从OpenStreetMap中找到交叉点?

如何在OpenStreetMap中提取交叉点?我需要交叉点的经度和纬度,谢谢!

intersection openstreetmap

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

SQL中交集的补充

我正在使用Oracle SQL,我有一个关于join命令的基本问题.

我有5张桌子.它们中的每一个都与主键具有相同的列:ID (int).让我们看看以下查询:

select count(*) from table_a - 100 records
select count(*) from table_c - 200 records
select count(*) from table_c - 150 records
select count(*) from table_d - 100 records
select count(*) from table_e - 120 records
Run Code Online (Sandbox Code Playgroud)
select * -- 88 records
 from table_a a
  inner join table b
    on a.id = b.id
  inner join table c
    on a.id = c.id
  inner join table d
    on a.id = d.id
  inner join table e
    on …
Run Code Online (Sandbox Code Playgroud)

sql oracle join intersection

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

查找两个整数范围之间的重叠区域

我在c#中制作一个复杂的算法,其中一步是比较2个非常大的范围列表并找出重叠区域.我已经尝试了很多方法来找到它们,但我不确定我是否涵盖了所有可能性.此外,我在这一步的算法对于大量列表来说花费的时间太长了.

示例:

范围1 = 1-400

范围2 = 200-600

所以当我想检查这两个范围之间的重叠时,我应该得到

答案= 200

因为这两个范围之间总共有200个数字重叠.所以这就是我想要的答案,我想要两个范围之间重叠的整数的确切数量.

列表示例:

清单1:1-400,401-800,801-1200等......清单2:10240-10276,10420 10456,11664-11682等...

现在我必须将列表1的每个范围与列表2的每个范围进行比较,并找出list1的某个范围是否与list2的任何范围重叠,如果是,那么重叠的答案是什么?这些只是样本值所以让你明白

我只需要一个简单而有效/快速的公式来找出2个范围之间的重叠答案,我可以管理其余的循环算法.

示例公式:

var OverlappingValue = FindOverlapping(range1.StartValue, range1.EndValue,range2.StartValue, range2.EndValue);
Run Code Online (Sandbox Code Playgroud)

如果两个范围完全没有重叠,那么函数必须返回0 提前谢谢PS:我没有发布我的代码bcz它真的很复杂有很多条件,我只需要一个简单的公式.谢谢.

c# intersection range .net-core

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

熊猫交集的群体

嗨,我正在努力寻找Player每一个出现的独特之处Team.

df =

Team    Player    Number
A       Joe       8
A       Mike      10
A       Steve     11
B       Henry     9
B       Steve     19
B       Joe       4
C       Mike      18
C       Joe       6
C       Steve     18
C       Dan       1
C       Henry     3
Run Code Online (Sandbox Code Playgroud)

结果应该是:

结果=

Team    Player    Number
A       Joe       8
A       Steve     11
B       Joe       4
B       Steve     19
C       Joe       6
C       Steve     18
Run Code Online (Sandbox Code Playgroud)

因为乔和史蒂夫是Player每个人中唯一的Team

python group-by intersection pandas

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

两种语言的交集是什么?

给定语言

L1={anb2m|n,m≥1}
L2={anb3n|n≥0}

L = L1 ? L2
Run Code Online (Sandbox Code Playgroud)

我知道这是常规语言,可以用PDA表示。L1L2

但是我不明白答案L是什么。该解决方案是如何计算的?{a2nb6n|n≥1}

union intersection formal-languages automaton

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

查找数字子集的分组

假设我有这些数字集

a = {1, 2, 3}
b = {2, 3, 4}
c = {1, 5}
Run Code Online (Sandbox Code Playgroud)

我想找到集合的所有不同的数字分组.结果将是

{1}, {2, 3}, {4}, {5}
Run Code Online (Sandbox Code Playgroud)

我的天真方法,不起作用,是这样的:

data = [{1, 2, 3}, {2, 3, 4}, {1, 5}]
for i in range(1, 5):
    s = set.intersection(*[x for x in data if i in x])
    print(s)
Run Code Online (Sandbox Code Playgroud)

哪个回报

set([1])
set([2, 3])
set([2, 3])
set([2, 3, 4])
Run Code Online (Sandbox Code Playgroud)

哪个可以很容易地重复删除,但不会给出预期的结果.

如何只获取集合子集中存在的数字分组?

python intersection set

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

查找多个数据帧列之间的公共元素

希望你能帮助我.我是蟒蛇和熊猫的新手,所以请耐心等待.我试图找到三个数据框之间的常用词,我正在使用Jupiter Notebook.

仅举例如:

df1=
A
dog
cat
cow 
duck
snake

df2=
A
pig
snail
bird
dog

df3=
A
eagle
dog 
snail
monkey
Run Code Online (Sandbox Code Playgroud)

在所有数据框中只有一列是A.我想找到1.所有列中的常用词2.对于它们自己的列而言并不共同的词.例; duck是df1独有的,snail是df2独有的,而monkey是df3独有的.我正在使用以下代码进行一些使用,但没有得到我想要的简单,

df1[df1['A'].isin(df2['A']) & (df2['A']) & (df3['A'])]
Run Code Online (Sandbox Code Playgroud)

请告诉我哪里出错了.干杯

python string intersection series pandas

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

如何在MATLAB中实现3D布尔运算来制作像Blender(或任何其他3D软件)中的交集?

我正在研究从3个单独的二进制图像创建3D图像,这些图像是用3个摄像头拍摄的.我有相应的校准并知道设置(见下文).由于图像预处理主要在MATLAB中完成,我想在那里实现一切.

在此输入图像描述

我的代码的当前想法是根据相机校准挤出2D二进制图像.这是典型的二进制图像:

在此输入图像描述

在MATLAB中,拉伸图像看起来像这样:

在此输入图像描述

通过挤出所有3个相机和分级算法,我可以创建最终的3D形状.到目前为止这种方法很好,但需要很长时间才能计算,因为我需要创建大量的挤出步骤来获得良好的表面.

我现在正在考虑通过重新创建我将在像Blender这样的3D建模软件中执行的过程来加快速度.在那里,我还可以挤出二进制图像的轮廓并通过为轮廓创建样条线,挤出它们并使用布尔运算符来轻松创建交集.这是一个包含2个拉伸图像的Blender示例:

在此输入图像描述

我不知道如何在MATLAB中实现这样的东西.我想在挤出"管"的顶端和底端创建两个二进制轮廓实例,然后在各个点之间定义面,然后创建一个交点.点创建没有问题,但面定义和交集(布尔运算符)是.有没有人知道如何实现这一点?

3d matlab boolean intersection blender

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