Почему я получаю ошибку во время выполнения в этом вопросе? - PullRequest
0 голосов
/ 21 октября 2018

Я решал этот вопрос на codeforces.Я получаю ошибку во время выполнения в одном из их внутренних тестовых случаев (я передаю их показанный тестовый пример).Это мой код

t = int(input())
for i in range(t):
    n, nq = map(int, input().strip().split())
    arr = list(map(int, input().strip().split()))
    set_arr = set(arr)
    for j in range(nq):
        q = list(map(int, input().strip().split()))
        if q[0] is 2:
            if 0 in set_arr:
                print(len(set_arr) - 1)
            else:
                print(len(set_arr))   
        else:
            count = 0
            for k in range(n):
                if arr[k] is arr[q[1] - 1]:
                    count += 1
                if count > 1:
                    break
            if count is 1:
                set_arr.remove(arr[q[1] - 1])

            arr[q[1] - 1] = q[2]
            set_arr.add(q[2])

В чем может быть причина ошибки во время выполнения?

1 Ответ

0 голосов
/ 04 февраля 2019

по этой ссылке: https://www.programiz.com/python-programming/methods/list/remove

Вы должны убедиться, что элемент, который вы пытаетесь удалить, находится в списке.как если бы элемент (аргумент), переданный методу remove (), не существует, возникает исключение valueError.

Надеюсь, это поможет.

...