Очистить переменную, не разрушая ее
У меня есть такой фрагмент кода:
a = "aa"
b = 1
c = { "b":2 }
d = [3,"c"]
e = (4,5)
letters = [a, b, c, d, e]
И я хочу сделать что-то с этим, что опустошит их. Не теряя своего типа.
Что-то вроде этого:
>>EmptyVars(letters)
['',0,{},[],()]
Какой-нибудь намек?
2 ответа:
Сделайте так:
def EmptyVar(lst): return [type(i)() for i in lst]
type()
создает объект типа для каждого значения, который при вызове создает "пустое" новое значение.Демо:
>>> a = "aa" >>> b = 1 >>> c = { "b":2 } >>> d = [3,"c"] >>> e = (4,5) >>> letters = [a, b, c, d, e] >>> def EmptyVar(lst): ... return [type(i)() for i in lst] ... >>> EmptyVar(letters) ['', 0, {}, [], ()]