大小为2的列表,不接受索引为0的Python IndexError

时间:2016-03-02 06:36:04

标签: python

如果这个问题太明显或以前曾被问过,我想道歉,但我已经坚持这个问题几个小时了。

我正在创建一个程序,该程序获取有关客户的信息列表,并根据由两个值列表组成的单独文件调整其余额。每个列表的第一个值是将要比较的标识号,然后调整列表的其他值。

我获得了IndexError: list index out of range

行的if i[0] == y[0]:
def computeTransactions(transactions, old_master_list):
   transaction_list = []
   for y in old_master_list:
      for line in transactions:
         b = line.split()
         print b
         transaction_list.append(b)
      print transaction_list         
      for i in transaction_list:
        print len(i)
        if i[0] == y[0]:
            y[2] = float(y[2])
            i[1] = float(i[1])
            y[2] += i[1]
            y[2] = round(y[2], 2)
            y[2] = str(y[2])
      print ""
      print y

我非常感谢您提供的任何帮助。谢谢!

编辑: 我要感谢所有花时间帮助我的人,我找到了答案。事实证明,"交易" (这是我打开的文件)在末尾添加了一个空格,所以我在transaction_list的末尾有一个额外的空列表。一个简单的transaction_list = filter(None, transaction_list)实际上解决了我的问题。如果这是浪费时间,我很抱歉

1 个答案:

答案 0 :(得分:0)

您应该多次使用select device_id, serial_number, min(imei) as imei1, case when count(*) > 1 then max(imei) end as imei2 from tablename group by device_id, serial_number ,而您只应该消费一次:

<xsl:value-of select="substring-after(/a/@name,'http://')"/>





<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="no" indent="yes"/>
 <xsl:strip-space elements="*"/>
  <xsl:template match="/">
    <a>
<xsl:attribute name="name">
  <xsl:value-of select="substring-after(/a/@name,'http://')"/>
       </xsl:attribute>
      </a>
 </xsl:template>
</xsl:stylesheet>