【发布时间】:2019-07-12 22:45:26
【问题描述】:
我正在尝试用单词来迭代这个列表
CTCCTC TCCTCT CCTCTC CTCTCC TCTCCC CTCCCA TCCCAA CCCAAA CCAAAC CAAACT
CTGGGC TGGGCC GGGCCA GGCCAA GCCAAT CCAATG CAATGC AATGCC ATGCCT TGCCTG GCCTGC
TGCCAG GCCAGG CCAGGA CAGGAG AGGAGG GGAGGG GAGGGG AGGGGC GGGGCT GGGCTG GGCTGG GCTGGT CTGGTC
TGGTCT GGTCTG GTCTGG TCTGGA CTGGAC TGGACA GGACAC GACACT ACACTA CACTAT
ATTCAG TTCAGC TCAGCC CAGCCA AGCCAG GCCAGT CCAGTC CAGTCA AGTCAA GTCAAC TCAACA CAACAC AACACA
ACACAA CACAAG ACAAGG AGGTGG GGTGGC GTGGCC TGGCCT GGCCTG GCCTGC CCTGCA CTGCAC
TGCACT GCACTC CACTCG ACTCGA CTCGAG TCGAGG CGAGGT GAGGTT AGGTTC GGTTCC
TATATA ATATAC TATACC ATACCT TACCTG ACCTGG CCTGGT CTGGTA TGGTAA GGTAAT GTAATG TAATGG AATGGA
我正在尝试 for 循环读取列表中的每个项目并通过 mk_model.vector 解析它
使用的代码如下
for x in all_seq_sentences[:]:
mk_model.vector(x)
print(x)
通常,mk_model.vector("AGT") 会给出一个与定义的 dna2vec 模型相对应的数组,但这里不是实际执行模型运行,而是会抛出错误
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-144-77c47b13e98a> in <module>
1 for x in all_seq_sentences[:]:
----> 2 mk_model.vector(x)
3 print(x)
4
~/Desktop/DNA2vec/dna2vec/dna2vec/multi_k_model.py in vector(self, vocab)
35
36 def vector(self, vocab):
---> 37 return self.data[len(vocab)].model[vocab]
38
39 def unitvec(self, vec):
KeyError: 664
在这里期待一些帮助
【问题讨论】:
-
嗨@Kay - 如果你更准确地了解你的开始,它会帮助人们更好地理解你的问题。您说您从一个列表开始,但您发布的代码只是一堆字母 - 我们无法判断这是否是列表列表中的
['CTCCTC', 'TCCTCT', 'CCTCTC']之类的字符串列表:[['CTCCTC'], ['TCCTCT', 'CCTCTC']]。或者一根巨大的弦。或者是其他东西。如果您发布描述您所拥有的实际 python 会更清楚。 -
另外,这个关键错误
664表明您可能正在传递整个字符串而不是将其拆分为单个组件。 -
@MarkMeyer 谢谢!但是任何关于如何从列表中一次传递一个项目的想法..非常感谢您的帮助!我将 DNA 序列视为句子,然后分解成单词。它是 DNA2vec 模型的实现
-
我仍然不确定你从什么开始。那是一根大绳子吗?如果是这样,您可以通过在 in 上调用
split()来获取列表。 -
@MarkMeyer .. 谢谢,它与 split() 一起使用
标签: python-3.x for-loop jupyter-notebook