Python中的归因词典元素-Dict.Element-PyTricks



我想打印apple的值1234,但不使用Dict['apple'],而是在Python 3中使用Dict.apple。有办法做到这一点吗?我们可以使用任何其他数据格式,如:元组或列表。建议我如何在Python中实现这一点。

Dict = { 'apple':'1234'}

你可以,但不值得这么麻烦。

这里有一个使用内置namedtuple类的解决方案:

from collections import namedtuple
Dict = { 'apple':'1234'}
MyTupleClass = namedtuple('MyTupleClass', Dict)
my_tuple = MyTupleClass(**Dict)
print(my_tuple.apple)

另一个分类为dict:

class MyDict(dict):
def __getattr__(self, item):
return self.__getitem__(item)
d = MyDict({'apple': '1234'})
print(d.apple)

两者都是丑陋的&不值得降低可读性。

您可以这样做:

class CustomDict(object):
def __init__(self, d):
self.__dict__ = d
Dict = { 'apple':'1234'}
custom_dict = CustomDict(Dict)
print(custom_dict.apple)

非常感谢大家!但我也找到了答案

from dotmap import DotMap
myDict = DotMap(a:'1234')
>> myDict.a
>> 1234

最新更新