相关疑难解决方法(0)

使用点符号字符串"abcde"检查嵌套字典会自动创建缺少的级别

这个让我大吃一惊.鉴于以下字典:

    d = {"a":{"b":{"c":"winning!"}}}
Run Code Online (Sandbox Code Playgroud)

我有这个字符串(来自外部来源,我不能改变这个比喻).

    k = "a.b.c"
Run Code Online (Sandbox Code Playgroud)

我需要确定字典是否有密钥 'c',所以如果没有,我可以添加它.

这可以游戏地检索点符号值:

    reduce(dict.get, key.split("."), d)
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何'减少'has_key检查或类似的东西.

我的最终问题是:给定"abcde",我需要创建字典中所需的所有元素,但如果它们已经存在则不要踩它们.如果有人知道做出这一切的真正方式,那么你将成为我的英雄.

python dictionary nested defaultdict

12
推荐指数
2
解决办法
5324
查看次数

具有相同键名称的字典

我需要一个字典,其中有两个名称相同但值不同的键。我尝试执行此操作的一种方法是创建一个类,在其中放置字典的每个键名称,以便它们成为不同的对象:

names = ["1", "1"]
values = [[1, 2, 3], [4, 5, 6]]
dict = {}

class Sets(object):
    def __init__(self,name):
        self.name = name

for i in range(len(names)):
    dict[Sets(names[i])] = values[i]

print dict
Run Code Online (Sandbox Code Playgroud)

我期待的结果是:

{"1": [1, 2, 3], "1": [4, 5, 6]}
Run Code Online (Sandbox Code Playgroud)

但它却是:

{"1": [4, 5, 6]}
Run Code Online (Sandbox Code Playgroud)

[编辑] 所以我发现字典中的键应该是唯一的,有两个同名的键是对字典的错误使用。所以我需要重新思考我的问题并使用Python中可用的其他方法。

python dictionary class object python-2.7

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

标签 统计

dictionary ×2

python ×2

class ×1

defaultdict ×1

nested ×1

object ×1

python-2.7 ×1