如何从不同的函数中获取字典(键和值)?
How to get the dictionary (keys and values) from different function?
假设我有一本字典:
def funcA():
invdict = {{'fruits':{'apple','manggo'}},{'veggies':{'cabbage','cucumber'}},{'drinks:{'juice','coke'}}}
return(invdict)
我想将字典 invdict
连同它的键和值调用到另一个函数
def funcB():
invdict = funcA()
return invdict
主要代码是
def funcA()
def funcB()
print(funcA)
print(funcB)
我已经给你留下了评论,但我想我会把它放在一个答案中,以便在不受评论限制的情况下更容易阅读。
这里有几个问题。首先,您似乎正在尝试制作列表字典,但您对列表使用的是字典语法(花括号)而不是列表语法(方括号),所以不要这样做:
# this is wrong
invdict = {{'fruits':{'apple','manggo'}},{'veggies':{'cabbage','cucumber'}},{'drinks:{'juice','coke'}}}
你应该这样做:
# this is right
invdict = {'fruits': ['apple','mango'], 'veggies': ['cabbage','cucumber'], 'drinks': ['juice','coke']}
您还可以使用适当放置的空格使其更易于阅读:
# easier to read
invdict = {'fruits': ['apple','mango'],
'veggies': ['cabbage','cucumber'],
'drinks': ['juice','coke']}
现在开始下一个问题。你希望你的函数 funcB 知道 invdict,它目前只在你的函数 funcB 的命名空间中可用。看起来您正试图 return invdict from funcA 但您使用的 return 不正确。看起来您还想从这些函数中打印 return 值,但是同样,您的语法不正确(您正在打印函数实例而不是调用它并打印其 return 值。)什么你可能想做的是:
def funcA():
# correct syntax for a dictionary of lists, with whitespace for readability
invdict = {'fruits': ['apple','mango'],
'veggies': ['cabbage','cucumber'],
'drinks': ['juice','coke']}
# correct usage of return statement
return invdict
def funcB():
invdict = funcA()
return invdict
# correct way to call functions for their return values
print(funcA())
print(funcB())
记住,要调用函数,您必须执行 function_name()。如果函数采用参数,则参数位于括号之间。如果它不带参数,您只需使用“()”。如果你只是输入函数名,你传递的是函数定义本身,而不是执行那个函数(这有不同的用途,但那是另一回事了。)
假设我有一本字典:
def funcA():
invdict = {{'fruits':{'apple','manggo'}},{'veggies':{'cabbage','cucumber'}},{'drinks:{'juice','coke'}}}
return(invdict)
我想将字典 invdict
连同它的键和值调用到另一个函数
def funcB():
invdict = funcA()
return invdict
主要代码是
def funcA()
def funcB()
print(funcA)
print(funcB)
我已经给你留下了评论,但我想我会把它放在一个答案中,以便在不受评论限制的情况下更容易阅读。
这里有几个问题。首先,您似乎正在尝试制作列表字典,但您对列表使用的是字典语法(花括号)而不是列表语法(方括号),所以不要这样做:
# this is wrong
invdict = {{'fruits':{'apple','manggo'}},{'veggies':{'cabbage','cucumber'}},{'drinks:{'juice','coke'}}}
你应该这样做:
# this is right
invdict = {'fruits': ['apple','mango'], 'veggies': ['cabbage','cucumber'], 'drinks': ['juice','coke']}
您还可以使用适当放置的空格使其更易于阅读:
# easier to read
invdict = {'fruits': ['apple','mango'],
'veggies': ['cabbage','cucumber'],
'drinks': ['juice','coke']}
现在开始下一个问题。你希望你的函数 funcB 知道 invdict,它目前只在你的函数 funcB 的命名空间中可用。看起来您正试图 return invdict from funcA 但您使用的 return 不正确。看起来您还想从这些函数中打印 return 值,但是同样,您的语法不正确(您正在打印函数实例而不是调用它并打印其 return 值。)什么你可能想做的是:
def funcA():
# correct syntax for a dictionary of lists, with whitespace for readability
invdict = {'fruits': ['apple','mango'],
'veggies': ['cabbage','cucumber'],
'drinks': ['juice','coke']}
# correct usage of return statement
return invdict
def funcB():
invdict = funcA()
return invdict
# correct way to call functions for their return values
print(funcA())
print(funcB())
记住,要调用函数,您必须执行 function_name()。如果函数采用参数,则参数位于括号之间。如果它不带参数,您只需使用“()”。如果你只是输入函数名,你传递的是函数定义本身,而不是执行那个函数(这有不同的用途,但那是另一回事了。)