Python中文
首页
教程
问答
标签
搜索
登录
注册
400万套交叉口如何提速?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我是一个没有经验的程序员,正在用Python完成许多生物信息学练习。在</p> <p>一个问题是对名称组之间的集合交集中的元素进行计数,并将这些元素存储在字典中。共有两个2000个名称组的列表;名称组中的名称是拉丁物种名称。例如:</p> <pre><code>list__of_name_groups_1 = [ ['Canis Lupus', 'Canis Latrans'], ['Euarctos Americanus', 'Lynx Rufus'], ... ] list__of_name_groups_2 = [ ['Nasua Narica', 'Odocoileus Hemionus'], ['Felis Concolor', 'Peromyscus Eremicus'], ['Canis Latrans', 'Cervus Canadensis'] ... ] </code></pre> <p>我需要一个字典,它包含所有名字组之间的交集大小</p> ^{pr2}$ <p>(<code>'Canis Latrans'</code>出现在第一个列表的元素<code>0</code>中,元素{<cd3>}出现在第二个列表中。)</p> <p>我有一个算法的实现,但它运行得太慢了。在</p> <pre><code>overlap = {} for i in list_of_lists_of_names_1: for j in list_of_lists_of_names_2: overlap[(i,j)] = len(set(i) & set(j)) </code></pre> <p>有没有一种更快的方法来计算集合交叉点中元素的数量?在</p> <p>(主持人您好。。。尼克,这篇修改后的帖子实际上提出了一个与我正在研究的问题稍有不同的问题。虽然你的回答很好地回答了这个问题,但恐怕你所建议的方法对我所要做的实际上是没有用的。我非常感谢您为您的回答和编辑这篇文章付出的时间和精力,但我要求将帖子还原为原文。)</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>根据数据的具体情况,另一种选择是,对于每个可能的数据项,记录它所包含的列表。在</p> <p>使用这样的数据结构,对于每个数据项,您可以快速确定哪些对列表包含它,并增加<code>overlap</code>的相应条目。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
4 回答
无法使用Django\u mssql\u后端迁移到外部hos
4 回答
无法使用Django&Python3.4连接到MySql
8 回答
无法使用Django+nginx上载媒体文件
1 回答
无法使用Django1.6导入名称模式
3 回答
无法使用Django1.7和mongodb登录管理站点
8 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
4 回答
无法使用Djangockedi验证CBV中的字段
10 回答
无法使用Djangocketditor上载图像(错误400)
6 回答
无法使用Djangocron进行函数调用
6 回答
无法使用Djangofiler djang上载文件
6 回答
无法使用Djangokronos
9 回答
无法使用Djangomssql provid
9 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
8 回答
无法使用Djangomssq迁移Django数据库
3 回答
无法使用Djangonox创建用户
5 回答
无法使用Djangopyodb从Django查询SQL Server
10 回答
无法使用Djangopython3ldap连接到ldap
3 回答
无法使用Djangoredis连接到redis
2 回答
无法使用Django中的FK创建新表
7 回答