小编Jas*_*n J的帖子

两个列表上的操作

让我从一些背景开始.

假设我有这个清单:

interactions = [ ['O1', 'O3'],
               ['O2', 'O5'],
               ['O8', 'O10']
               ['P3', 'P5'],
               ['P2', 'P19'],
               ['P1', 'P6'] ]
Run Code Online (Sandbox Code Playgroud)

列表中的每个条目(例如:) O1, O3是两个实体之间的交互(尽管我们在这里处理的所有内容都是字符串).列表中有许多不同的实体.

我们还有以下列表:

similar = ['O1', 'P23'],
          ['O3', 'P50'],
          ['P2', 'O40'],
          ['P19', 'O22']
Run Code Online (Sandbox Code Playgroud)

其中每个条目是两个不同实体之间的相似性关系.

因此O1类似于P23,O3类似于P50和[O1,O3]相互作用,因此相互作用['P23','P50']是转化的相互作用.

同样,P2类似于O40,P19类似于O22和[P2,P19]相互作用,因此相互作用['O40','O22']是转化的相互作用.

转换的相互作用将始终来自相同的类型,例如:[PX,PX]或[OX,OX].

所以我编写了以下代码来生成这些关系转移:

from collections import defaultdict

interactions = [ ['O1', 'O3'],
                 ['O2', 'O5'],
                 ['O8', 'O10']
                 ['P3', 'P5'],
                 ['P2', 'P19'],
                 ['P1', 'P6'] ]

similar = [ …
Run Code Online (Sandbox Code Playgroud)

python algorithm list

7
推荐指数
1
解决办法
622
查看次数

标签 统计

algorithm ×1

list ×1

python ×1