【发布时间】:2013-11-24 02:29:06
【问题描述】:
我必须解决一个问题(问题和代码如下),我在执行这个程序时遇到错误。
Traceback (most recent call last):
File "C:/Python33/exercise1.py", line 9, in <module>
for n in range[len(string) - k]:
TypeError: unsupported operand type(s) for -: 'int' and 'list'
-
常用词问题:找出字符串中出现频率最高的 k-mer。
输入:一个字符串Text和一个整数k。 [XGMcKJXnoMhmuXcsjswaejVunrrsDhoiWEzXbiKoiYBEpVmhJszFWCFJAHLPzKfKBhWbCABPCTqASGvgquUtnwSeeYkXtLcbzMxvcsUwjmhHfexpEEhjhjzKvYdODZeCgrehxUnYqDwYMBxaFsYAqIFsBSZslMmTNXPovRtRbqFOhMXMUErCnRgjiBIovOWXxlkYInG] P>
输出:文本中所有最常见的 k-mer。
我设计的代码是:
k=open("dataset_3_6.txt").readlines()
import string
string = str()
for k in string:
k = int(k)
kmer_count = {}
for n in range(len(string) - k):
c = string[n:n+k]
kmer_count[c] = kmer_count[c] + 1 if kmer_count.has_key(c) else 1
max = 0
max_kmer = []
for k,v in kmer_count.iteritems():
if v > max:
max_kmer = [k]
max = v
elif v == max:
max_kmer += [k]
print("max_kmer")
【问题讨论】:
-
请编辑此代码使其清晰易读。所有“在此处输入代码”块的用途是什么?
-
@MikeW 我编辑了它:)
-
这个错误的意思正是它所说的。您希望
len(string) - k评估的结果是什么,为什么?
标签: python string types version operand