Как объявить массив как параметр функции в Python? - PullRequest
1 голос
/ 14 апреля 2020

Я объявил пустой список. Я хочу сохранить в нем несколько строк из текстового файла. Если я делаю без создания TXT_to_PList, это работает гладко. Но использование TXT_to_PList длины массива deTrimis будет 0. Почему?

deTrimis = []

def TXT_to_PList(fileName,array):
    with open(fileName) as f:
        array = f.read().splitlines()
TXT_to_PList('strings.txt',deTrimis)
print (len(deTrimis))

Ответы [ 2 ]

1 голос
/ 14 апреля 2020

Вам вообще не нужен этот пустой список:

def TXT_to_PList(fileName):
    with open(fileName) as f:
        return f.read().splitlines()

deTrimis = TXT_to_PList('strings.txt')
0 голосов
/ 14 апреля 2020

Вы не можете изменить аргумент функции с помощью присваивания, измените его на:

array.extend(f.read().splitlines())

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...