如何从不同的函数中获取字典(键和值)?

2024-05-18 12:04:11 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一本字典:

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)

Tags: applereturn字典defjuiceprintfruitscucumber
1条回答
网友
1楼 · 发布于 2024-05-18 12:04:11

我已经给你留下了评论,但我想我应该把这个放在一个答案里,让它更容易阅读,而不受评论的限制。你知道吗

这里有几个问题。首先,似乎您正在尝试创建列表字典,但是您正在为列表使用字典语法(大括号),而不是列表语法(方括号),因此您没有执行以下操作:

# 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的命名空间中可用。看起来您试图从funcA返回invdict,但使用的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\u name()。如果函数采用参数,则参数位于括号之间。如果不带参数,只需使用“()”。如果只键入函数名,则传递的是函数定义本身,而不是执行该函数(这有单独的用途,但那是另一回事)

相关问题 更多 >