-1
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)]] . In this case['b', ( 1, 2)]` 缺失,所以应该报错如下代码所示。

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

4

1 回答 1

2

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

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

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

于 2012-08-03T22:49:24.413 回答