【发布时间】:2019-01-16 13:29:11
【问题描述】:
我想在我的函数中创建一个字典,但我不能。我找到的唯一可能的解决方案是在函数之外和调用它之前创建字典的名称。
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 = {}。
【问题讨论】:
-
你试过
return从函数中输入字典吗? -
另外,
names在else中未定义(或者更确切地说,是上次迭代的值——或者这是故意的?)并且rstrip().strip()是多余的。 -
谢谢! .为什么 rstrip().strip() 是多余的?
-
它是多余的,因为它首先从字符串的右侧去除空格,然后从两侧去除。
标签: python function dictionary