Я создал функцию, которая получает структуры данных и заменяет все ее кортежи на списки.
например:
in_data = ({'name': 'Bob', 'age': 50, 'children': ('Alex', 'Justin', 'Daniel')},
{'Name': 'Olive', 'Age': 42, 'Children': ('Rose', 'Vera', 'Karen')})
out_data = [{'name': 'Bob', 'age': 50, 'children': ['Alex', 'Justin', 'Daniel']},
{'Name': 'Olive', 'Age': 42, 'Children': ['Rose', 'Vera', 'Karen']}]
это функция:
def t2l(data):
if type(data) in [tuple]:
data = list(data)
for inx, item in enumerate(data):
if type(data) in [dict]:
inx, item = item, data[item]
if type(item) in [tuple]:
data[inx] = list(item)
item = data[inx]
if type(item) in (list, dict, tuple):
data[inx] = t2l(item)
return data
Эта функция будет выполняться на миллионах строк в СДР, поэтому я хочу улучшить ее настолько, насколько смогу.
Есть ли способ улучшить время выполнения, как из готовых функций, которые я могу использовать, чтобы сделать это лучше?
Спасибо