我的代码不起作用

时间:2012-08-03 22:40:05

标签: python

for i in l1:
    print "the i is ", i
    print i[0]   # 'a'
    print i[1]   # (1, 1)
    n = re.search(r'[a-z]', i[0])
    v = (1,1)
    if i[0] != n:
    v = (1,1)
    n = i[0]
    if i[1] != v:
        raise ValueError, '[%s, %s] is missing in %s' %(i[0], (i[1][0], i[1][1]-1), production)

    v = (v[0], v[1] + 1)

我需要检查给定列表中是否缺少任何项目 l1 = [['a',(1,2)],['a',(1,3)],['a',(1,4)]] in this case ['a',( 1,1)]`缺失所以我应该报告错误。

类似地,如果我们有列表l1 = ['b',(1,1)],['b',(1,3)],['a',(1,4)]] {{1 }'['b',(1,2)]`缺少所以应该报告错误,如下面的代码所示。

我总是得到['a',(1,1)],尽管它是否存在于列表中 l1 = [['a',(1,1)],['a',(1,2)],['a',(1,3)],['a',(1,4)] ]

1 个答案:

答案 0 :(得分:2)

你想增加元组的第二个值,而不是元组本身:

v = (v[0], v[1] + 1)

如图所示,您需要创建一个新元组,因为元组本身是不可变的。