Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.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中,当传递dict键时,外部函数是否可以在该字典中找到其他键?_Python_Dictionary - Fatal编程技术网

在Python中,当传递dict键时,外部函数是否可以在该字典中找到其他键?

在Python中,当传递dict键时,外部函数是否可以在该字典中找到其他键?,python,dictionary,Python,Dictionary,假设我有以下代码: def function(k): # do something here d = { 0: 'a', 1: 'b', 2: 'c' } function(d[0]) 功能是否可以找出d中的其他键?例如,有没有这样一件事: def function(k): print k.__parent__.keys() 我认为没有这样的功能(因为这将是一个重大的安全问题)。然而,我对技术实现了解不多,无法确定这一点 编辑:动机是如果Python中的所有内容都是对象,

假设我有以下代码:

def function(k):
    # do something here

d = { 0: 'a', 1: 'b', 2: 'c' }

function(d[0])
功能是否可以找出
d
中的其他键?例如,有没有这样一件事:

def function(k):
    print k.__parent__.keys()
我认为没有这样的功能(因为这将是一个重大的安全问题)。然而,我对技术实现了解不多,无法确定这一点


编辑:动机是如果Python中的所有内容都是对象,那么是否可以找到绑定到它的其他对象,在本例中是父字典

没有。Python中的值不跟踪它们的来源,也不相互“绑定”。容器可以引用其他值,但由于任何值都可以从多个位置引用,因此没有必要回溯引用

function()

function(d[0])
function('a')
在这两种情况下,函数中的
k
都绑定到python字符串值
'a'

如果在函数中需要更多上下文,则需要显式传入:

def function(key, mapping):
    k = mapping[key]

function(0, d)
现在你也有了字典本身。

试试:

def function(dict, letter):
    for thing in dict:
        thing_string = str(thing)
        if str(letter) in thing_string:
            print dict[thing]

my_dict = { 0: 'a', 1: 'b', 2: 'c' }
function(my_dict, "d")

谢谢第一部分回答了我的问题。我编辑了我的问题以便更清楚。