如何从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}