相关疑难解决方法(0)

在字典中递归地查找密钥

我正在尝试编写一个非常简单的函数来递归搜索可能嵌套的(在最极端情况下十层深度)Python字典并返回它从给定键中找到的第一个值.

我无法理解为什么我的代码不适用于嵌套字典.

def _finditem(obj, key):
    if key in obj: return obj[key]
    for k, v in obj.items():
        if isinstance(v,dict):
            _finditem(v, key)

print _finditem({"B":{"A":2}},"A")
Run Code Online (Sandbox Code Playgroud)

它回来了None.

然而,它确实可以用于_finditem({"B":1,"A":2},"A")返回2.

我确定这是一个简单的错误,但我找不到它.我觉得在标准库中已经有可能存在这样的东西了collections,但我也找不到.

python recursion search dictionary

26
推荐指数
3
解决办法
4万
查看次数

是否可以使用python中的元组索引嵌套列表?

我刚开始使用python,很快就想知道是否可以使用元组索引嵌套列表.就像是:elements[(1,1)]

我想要做的一个例子类似于下面的代码,我在其中保存矩阵的一些位置,我稍后需要在一个名为index的元组中访问它.

index = ( (0,0), (0,2), (2,0), (2,2) )

elements = [ [ 'a', 'b', 'c'],
             [ 'c', 'd', 'e'],
             [ 'f', 'g', 'h'] ]

for i in index:
    print (elements [ i[0] ] [ i[1] ])

    # I would like to do this:
    # print(elements[i])
Run Code Online (Sandbox Code Playgroud)

这似乎是一个有用的功能.这有什么办法吗?或者也许是一个简单的选择

python tuples nested-lists

5
推荐指数
2
解决办法
719
查看次数

在深层嵌套字典中查找键

我有很多嵌套的词典,我试图找到嵌套在某个地方的某个键.

例如,这把钥匙叫做"水果".如何找到此密钥的值?

python dictionary nested

2
推荐指数
1
解决办法
1020
查看次数

标签 统计

python ×3

dictionary ×2

nested ×1

nested-lists ×1

recursion ×1

search ×1

tuples ×1