gpt4 book ai didi

python - 使用点符号获取内部值

转载 作者:太空宇宙 更新时间:2023-11-04 03:11:16 27 4
gpt4 key购买 nike

我有一本字典:

d = {'time': {36.0: 'mo'}, 'amount': {200.0: '$'}}

每个键(例如 'time')只有一个值(例如 {36.0 'mo'})

我想通过以下方式访问 36.0

result = d.time

通过做 200.0

result = d.amount

我该怎么做?到目前为止,我有:

class Bunch(object):
def __init__(self, adict):
self.__dict__.update(adict)

x = Bunch(d)
print x.time

产生 {36.0: 'mo'} 而不是 36.0。

最佳答案

在确保数据键和 dict 方法之间没有名称冲突之后,我将 dict 子类化并覆盖 __getattr__

d = {'time': {36.0: 'mo'}, 'amount': {200.0: '$'}}

class Bunch(dict):
def __getattr__(self, attr):
try:
val = self[attr]
return next(iter(val))
except KeyError:
raise AttributeError(attr)

x = Bunch(d)
x.time # 36.0

关于python - 使用点符号获取内部值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37926809/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com