You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

统计集合多值元素内特定字符串出现次数:计算各基因的互作数量

问题原因

你的代码存在三个核心问题:

  • Python 的set类型没有count()方法,该方法仅适用于列表、元组这类序列类型
  • 集合geneInt中存储的是基因对二元组,直接匹配单个基因永远无法命中
  • 代码存在拼写错误,追加列表时的ineractions应为interactions
实现方案

方案1:使用内置collections.Counter快速统计(推荐)

代码简洁执行效率高,同时支持直接生成字典或顺序匹配的列表结果:

from collections import Counter

# 展平所有互作对中的基因,统计每个基因的出现次数
gene_counter = Counter(g for pair in geneInt for g in pair)

# 字典形式结果:键为基因名,值为对应互作次数
interaction_dict = dict(gene_counter)

# 若要生成和输入genes列表顺序完全对应的向量,无互作的基因自动返回0
interaction_list = [gene_counter.get(gene, 0) for gene in genes]

方案2:手动遍历实现(无需导入依赖)

如果不想依赖内置统计工具,可以手动遍历互作对完成计数:

# 初始化计数字典,所有基因默认互作次数为0
interaction_dict = {gene: 0 for gene in genes}

# 遍历每个互作对,两个基因的计数各加1
for g1, g2 in geneInt:
    interaction_dict[g1] += 1
    interaction_dict[g2] += 1

# 若需要转成和输入列表顺序对应的结果
interaction_list = [interaction_dict[gene] for gene in genes]

内容的提问来源于stack exchange,提问作者Petras Nasvytis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:15:04