【发布时间】:2014-01-10 23:37:56
【问题描述】:
我知道为什么通常会发生这些类型的错误,但在我的情况下,我无法弄清楚原因。
这就是我想要做的:首先,我正在使用的文件类型是一个电子表格,它在给定的单元格中包含整数和字符串,或两者的组合。
现在,我之前编写了一个程序,该程序允许我附加并列出此电子表格中给定列中的所有值,所有值看起来都类似于“c.2232_2234A>G”或“c .23C>T"(这些是变量 'mutation' 和 'mutation_list' 包含的值的类型。因此,对于列表中的每个值,我想将它与列表中的所有其他值交叉引用并找到可能匹配,然后如果它们匹配,那么我想从电子表格的不同列附加某些信息并打印它,等等。
编辑:我只是更改了它,以便将同一个列表与自身进行比较。所以在这个给定的列表中,对于一个特定的突变,我希望它与列表中的所有其他突变交叉引用它,并为这些匹配附加家族编号和其他变量(如下所列)。虽然现在我没有得到索引错误,但我没有得到关于我列出的变量的输出。有任何想法吗?
这是我目前所拥有的:
for y in range(1, len(mutation)):
for z in range(1,len(mutation):
if mutation[y] == mutation[z]:
print "Family Number", family_num[z], "\t", "Result", result[z], "\t", "Mutation", mutation[y], "\t", "Site", site[z]
谢谢!
【问题讨论】:
-
你能发布完整的回溯吗?我们不知道哪个列表会引发错误。
-
你确定
family_num、result、mutation和site的长度是预期的吗? -
由于python列表从0开始,因此您从1开始处理是关闭的。由于您分别使用基于len(mutation)和len(mutation_list)的y&z,因此更有可能您的索引问题来自对family_num[z]、result[z]或site[z]的引用
-
您是从打印一些索引信息开始的吗?
-
以防万一你不知道,错误堆栈跟踪(或traceback)是python吐出来让你知道错误发生。如果你看它的开头,它会说“Traceback”。它还告诉错误发生在哪个文件中的行号,以及错误类型。它提供了大量的信息,调试通常就像阅读和理解回溯一样简单。这就是为什么要求您发布它...可能需要 10 秒才能解决没有它可能需要一个小时的问题。
标签: python loops if-statement indexing