Я хочу поделиться списками между различными функциями, такими как:
def function1():
testlist = ['1','2','3']
testlist.append = ('4')
print(testlist)
return testlist
def function2():
testlist = function1()
print(testlist)
testlist.append('6')
Проблема в том, что как только я хочу отредактировать список, например, с помощью list.append, сообщение об ошибке 'tuple'Объект не имеет атрибута «добавить».Несмотря на то, что список тестов по-прежнему имеет правильный ввод в function2.Вот почему я не знаю, почему список правильно передается между двумя функциями, но как кортеж, а не список.Есть ли способ изменить переменную обратно в список или передать ее в виде списка?
Я уже знаю, что могу легче проходить списки в классах.Но класс будет слишком большим для приложения, которое я хочу запрограммировать.Я уже видел этот Вопрос , где обсуждается аналогичная проблема.Но с этими решениями я все еще не могу редактировать список в другой функции.
Спасибо за вашу помощь.
Чтобы прояснить проблему: Код:
Код:
`
def function1():
cfg = yaml.load(yamlfile)
testlist = []
list2 = []
for x in cfg['y']
list2.append([x, str(cfg['y'][x]['z']), cfg['g']['d'] + '\\'])
for c in cfg['y'][x]['z']:
if cfg['x'][y]['z'][c]['abc']:
list2.append([str(cfg['y'][x]['z'][c]['abs'])])
return testlist, list2
def function2():
testlist = function1()
list2 = function1()
for i in range(len(list2)):
testlist.append(list2[i][0])`
Надеюсь, я знаю, что это немного яснее, чем я хочуделать.Кстати, я просто использовал случайные имена в файле конфигурации.