Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Python函数中的字典中调用键?_Python_Function_Dictionary_Key - Fatal编程技术网

如何从Python函数中的字典中调用键?

如何从Python函数中的字典中调用键?,python,function,dictionary,key,Python,Function,Dictionary,Key,我有以下代码: def all_dsc(x): dict={'a':x+2,'b':x-2} return dict 我想从这个函数之外的字典中调用键。 smthn类: all_dsc.dict.keys() 最好的方法是什么?您不能从函数外部访问函数中的局部变量。您所能做的就是通过调用函数返回dictionary对象,您已经这样做了 调用函数,然后将调用表达式的结果作为字典处理: all_dsc(42).keys() 演示: 请注意,如果可以避免,您确实不应该将内置类型的

我有以下代码:

def all_dsc(x):
    dict={'a':x+2,'b':x-2}
    return dict
我想从这个函数之外的字典中调用键。 smthn类:

all_dsc.dict.keys()

最好的方法是什么?

您不能从函数外部访问函数中的局部变量。您所能做的就是通过调用函数返回dictionary对象,您已经这样做了

调用函数,然后将调用表达式的结果作为字典处理:

all_dsc(42).keys()
演示:

请注意,如果可以避免,您确实不应该将内置类型的名称用作变量
dict
是内置类型,因此请尝试在此处使用其他名称:

def all_dsc(x):
    mapping = {'a': x + 2, 'b': x - 2}
    return mapping
或者甚至完全避免创建本地文件,因为这在这里并不重要:

def all_dsc(x):
    return {'a': x + 2, 'b': x - 2}

非常感谢,我不知道我必须向函数传递一个参数才能调用键。另一个问题:如果我在一个函数中有多个字典怎么办?如何从它们中调用键?@MarioL:将它们全部返回到一个元组中:
返回d1、d2、d3
,然后对元组进行索引或使用元组解包将字典存储在单独的变量中。可能的@Lav:重复实际上并没有多大帮助。在函数上设置属性与设置全局属性没有区别;您所做的只是将其命名为名称空间,但globals的许多问题仍然适用(例如,它不是线程安全的)。
def all_dsc(x):
    return {'a': x + 2, 'b': x - 2}