Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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字典中模拟PHP数组_Php_Python - Fatal编程技术网

在Python字典中模拟PHP数组

在Python字典中模拟PHP数组,php,python,Php,Python,将PHP-GTK应用程序转换为Python,我需要一个与PHP数组尽可能接近的字典。在搜索和尝试之后,我在一个myDict()类中对dict进行了子类化,并实现了第一个重要功能,即能够完成这项工作: dict1 = myDict() dict1[foo1][foo2][foo3] = 1 这是在myDict()类中实现的 现在有一个问题。 在PHP中,如果我尝试获取未定义的键,它将返回Null(相当于Python中的None)。 在标准Python dict中,它将返回一个错误。 不幸的是,在

将PHP-GTK应用程序转换为Python,我需要一个与PHP数组尽可能接近的字典。在搜索和尝试之后,我在一个myDict()类中对dict进行了子类化,并实现了第一个重要功能,即能够完成这项工作:

dict1 = myDict()
dict1[foo1][foo2][foo3] = 1
这是在myDict()类中实现的

现在有一个问题。 在PHP中,如果我尝试获取未定义的键,它将返回Null(相当于Python中的None)。 在标准Python dict中,它将返回一个错误。 不幸的是,在myDict字典中,它返回一个空的myDict

toto2 = myDict()
x = toto2["a"]["b"]
print x
打印显示:{} 这段代码的PHP等价物将返回Null,我需要上面的Python代码将None作为x的值返回

我还没有找到一个办法让它一无所获。因为如果
\uuuuu missing\uuuuu
返回None,那么第二行将提示一个错误:NoneType是unsubscribable


如果有人有办法解决这个问题,我将不胜感激,几个月来我一直在寻找一个解决方案来模仿PHP的这种“魔力”

假设我们可以使
myDict
在密钥不在时返回
None
myDict
。然后考虑<代码> toto2[(a)] [“b”] < /代码> ./p> Python首先计算toto2[“a”]。如果
“a”
不在
tototo2
中,则
tototo2[“a”]
返回无。下一个Python将计算
None[“b”]
并引发
TypeError


因此,在Python中无法实现所需的行为。

如何更改代码,使其不依赖于这些功能?“在PHP中,如果我尝试获取未定义的键,它将返回Null”…并且还会抛出一个通知。您永远不会访问未定义的索引并依赖它“返回
null
”。糟糕的程序员。糟糕。我认为您应该习惯这些事情是如何在Python中完成的,而不是移植坏的PHP习惯。毕竟,人们在用Python编程时没有这个功能,他们显然能完成任务。请,请,请永远不要尝试这个,谷歌人。前面有龙。
toto2 = myDict()
x = toto2["a"]["b"]
print x