def get_edges(co_list, col=0): ''' (Newest)co_list: 二维列表/一维列表 col: 节点所在列数,默认为第一列(仅二维列表用到此参数) 返回值:边列表,[[企业1,企业2],...] ''' edge_list = [] num = 1 for authors in co_list: if type(authors) == list: # 输入为二维列表 auths = authors[col].split(" | ") else: # 输入为一维列表 auths = authors.split(" | ") auths = sorted(auths) # 边 length = len(auths) for i in range(length - 1): for j in range(i + 1, length): edge_list.append([auths[i], auths[j]]) return edge_list什么意思
时间: 2024-04-17 17:28:29 浏览: 54
船舶模型matlab代码-3DMM_edges:3DMM_edges
5星 · 资源好评率100%
这段代码的作用是根据给定的作者列表,生成边列表。边列表包含了作者之间的合作关系,每个元素代表一对合作的作者。
函数`get_edges`的参数说明如下:
- `co_list`:二维列表或一维列表,表示作者列表。
- `col`:节点所在的列数,默认为0,仅在`co_list`是二维列表时用到,表示作者姓名所在的列数。
函数的返回值是一个边列表,其中每个元素为一个包含两个作者姓名的列表,表示这两个作者之间存在合作关系。
具体来说,函数的实现逻辑如下:
1. 遍历输入的作者列表`co_list`中的每个作者。
2. 如果`co_list`是二维列表,则获取指定列(默认为第一列)中的作者姓名,并使用分隔符" | "将其拆分成一个作者姓名列表`auths`。
3. 如果`co_list`是一维列表,则直接将其拆分成一个作者姓名列表`auths`,并按字母顺序进行排序。
4. 对于每个作者姓名列表`auths`,遍历其中的每一对作者,将其作为一个边添加到边列表`edge_list`中。
5. 返回生成的边列表`edge_list`。
边列表将用于进一步分析和处理作者之间的合作关系。
阅读全文