我是个初学者,这里有一段代码:
alleles=['DPY','DPX']
n_dict={'DPY':[['AA561_P4',5781],['AA562_P2',5712]],'DPX':[['AA561_P3',5324],['AA565_P2',5742]]}
n_list = []
for item in alleles:
f_list=[item]
for sub in n_dict[item]:
t=sub[0].split('_')
t1=t[1]+','+t[0]
f_list.append(t1)
n_list.append(f_list)
print(f_list)
它应该遍历等位基因中的每个项目,并使用该项目作为键来恢复列表列表。随后,对于列表列表中的每个项(sub),它必须将元素置于零位置并重新排列,然后将这个重新排列的字符串附加到一个列表(f\u list)中。最后,一旦它完成了一个等位基因的完整列表,它就必须将字符串列表(f\u list)附加到n\u list。你知道吗
我没有给出一个列表列表,每个列表都包含一个重新排列的字符串列表,而是只得到最后一个字符串列表。我怀疑这可能是一个问题,可以修复的.copy模块,但我仍然没有找到解决办法。你知道吗
我认为问题在于你在循环中定义了你的f\u list变量。因此,第一次迭代的结果会被下一次迭代的结果覆盖,从而丢弃其结果。将f_列表的初始定义上移一行,将其初始化为空列表,并在循环中向其追加项,应该可以解决您的问题。你知道吗
包含以下两行代码:
进入
我想这就是你要找的。你知道吗
相关问题 更多 >
编程相关推荐