如何在函数中创建字典?

时间:2019-01-16 13:29:11

标签: python function dictionary

我想在我的函数中创建一个字典,但是我不能。我发现的唯一可能的解决方案是在函数外部并在调用它之前创建字典的名称。

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”的词典,但我无需提前创建argentina = {}

1 个答案:

答案 0 :(得分:6)

只需在内部创建字典,然后从函数中将其返回即可:

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'))