-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

タプル自体ではなく、タプルの 2 番目の値をインクリメントします。

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

タプル自体は不変であるため、図のように新しいタプルを作成する必要があります。

于 2012-08-03T22:49:24.413 に答える