【问题标题】:Any idea why my variables won't print?知道为什么我的变量不会打印吗?
【发布时间】: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_numresultmutationsite的长度是预期的吗?
  • 由于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


【解决方案1】:

在打印语句中,将列表、变量等连接到字符串。试试看?

for y in range(1, len(mutation)):
      for z in range(1,len(mutation):
            if mutation[y] == mutation[z]:
                  print("Family Number", str(family_num[z]), "\t", "Result", str(result[z]), "\t", "Mutation", str(mutation[y]), "\t", "Site", str(site[z]))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 2011-11-25
    相关资源
    最近更新 更多