Как я могу создать словарь в функции? - PullRequest
0 голосов
/ 16 января 2019

Я хочу создать словарь в моей функции, но не могу. Единственное возможное решение, которое я нашел, - это создать имя словаря вне функции и перед ее вызовом.

argentina = {}
def get_dic(file,phone):
    for line in file.readlines():
        if (line[0] == '#'):
            names = line.rstrip().strip()
            phone[names] = ''
        else:
            phone[names] = phone[names] + line.rstrip().strip()

get_dic(open(sys.argv[1],'r'), argentina)

get_dic(open(sys.argv[1],'r'), argentina) откроет словарь под названием «Аргентина», но мне не нужно создавать argentina = {} заранее.

1 Ответ

0 голосов
/ 16 января 2019

Просто создайте внутри себя dict и верните его из функции:

def get_dic(file):
    phone = {}
    names = None
    for line in file.readlines():
        if line[0] == '#':
            names = line.strip()
            phone[names] = ""
        else:
            phone[names] += line.strip()
    return phone

argentina = get_dic(open(sys.argv[1],'r'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...