Как ошибки в python ссылаются на ввод в имени функции

Я пытался создать функцию с исключением, которая ссылается на входы, но когда возникает исключение, он просто печатает значение ввода, а не имя входов. Смотрите пример ниже:

def f(input):
    d = {}
    for i in input:
        if i in d.keys():
            raise TypeError('values in ' + str(input) + ' not unique')
        d[i] = something(i)
    return d

Если мы попробуем

example = [1,2,5,2]
f(example)

Что возвращается:

<ipython-input-61-9420e59c3229> in f(input)
      5     for i in input:
      6         if i in d.keys():
----> 7             raise TypeError('values in ' + str(input) + ' not unique')
      8         d[i] = something(i)
      9     return d

TypeError: values in [1, 2, 5, 2] not unique

Однако то, что я хочу, это:

TypeError: values in 'example' not unique

0 ответов

Другие вопросы по тегам