-2
我试图在同一时间存储和更新多个列表。我在这里列出了一个字符串中的一个位置,即<list-1>
将存储第一个位置,<list_0>
将存储中间位置,<list+1>
将存储三个字母字中的最后一个位置。由于我使用的是滚动窗口,这意味着每个列表将存储多个单词中的字母,因此如果窗口长度需要变化,则难以对所有内容进行硬编码。 从本质上讲,我想是这样的<for list0...listn>:<store/append character to list0 in string[0].....store/append character to listn in string s[n]>
这里是我的代码:Python - 将值存储在单个字符串的多个列表中
#http://stackoverflow.com/questions/6822725/rolling-or-sliding-window-iterator-in-python
def window(iterable, size):
iters = tee(iterable, size)
for i in range(1, size):
for each in iters[i:]:
next(each, None)
return zip(*iters)
if(wordlength == 3):
for each in window(temporary_string, wordlength):
temp = ''.join(each)
k = temp[0]
k = damino[k]
p_1.append(k)
t = temp[0]
p_1w.append(t)
k = temp[1]
k = damino[k]
p.append(k)
t = temp[1]
pw.append(t)
k = temp[2]
k = damino[k]
p1.append(k)
t = temp[2]
p1w.append(t)
word_list.append(temp)
例如,输入字符串将是:ATGGAAE
窗口大小:3
输出将有三个阵列,
p-1|p|p+1
*|A|T
A|T|G
T|G|G
G|G|A
G|A|A
A|A|E
A|E|*
那么你的代码有什么问题? – Goyo
我认为'if'部分应该在函数定义之外? – Goyo
我的代码没有什么特别的错,只是我需要让它更有效率。 – Siddharth