Выход только один раз за итерацию

Я пытаюсь выполнить преобразование типов с помощью генератора, но я хочу перейти к следующему элементу в итераторе, как только я успешно получу значение. Моя текущая попытка даст несколько значений в случаях, когда выражения успешны:

def type_convert(data):
    for item in data:
        try:
            yield int(item)
        except (ValueError, TypeError) as WrongTypeError:
            pass
        try:
            yield float(item)
        except (ValueError, TypeError) as WrongTypeError:
            pass
        yield item

Как это достигается?

5
задан donopj2 20 July 2012 в 08:28
поделиться