Python-如何使用点“” 访问字典成员?

简介: Python-如何使用点“” 访问字典成员?

如何解决Python-如何使用点“” 访问字典成员??
你可以使用我刚刚制作的此类来做。通过此类,你可以Map像其他字典(包括json序列化)一样使用该对象,也可以使用点符号。希望对你有所帮助:

class Map(dict):

"""
Example:
m = Map({'first_name': 'Eduardo'}, last_name='Pool', age=24, sports=['Soccer'])
"""
def __init__(self, *args, **kwargs):
    super(Map, self).__init__(*args, **kwargs)
    for arg in args:
        if isinstance(arg, dict):
            for k, v in arg.iteritems():
                self[k] = v
    if kwargs:
        for k, v in kwargs.iteritems():
            self[k] = v
def __getattr__(self, attr):
    return self.get(attr)
def __setattr__(self, key, value):
    self.__setitem__(key, value)
def __setitem__(self, key, value):
    super(Map, self).__setitem__(key, value)
    self.__dict__.update({key: value})
def __delattr__(self, item):
    self.__delitem__(item)
def __delitem__(self, key):
    super(Map, self).__delitem__(key)
    del self.__dict__[key]

用法示例:

m = Map({'first_name': 'Eduardo'}, last_name='Pool', age=24, sports=['Soccer'])

Add new key

m.new_key = 'Hello World!'

Or

m['new_key'] = 'Hello World!'
print m.new_key
print m['new_key']

Update values

m.new_key = 'Yay!'

Or

m['new_key'] = 'Yay!'

Delete key

del m.new_key

Or

del m['new_key']
我一直将其保存在util文件中。你也可以在自己的类中将其用作混合。

class dotdict(dict):

"""dot.notation access to dictionary attributes"""
__getattr__ = dict.get
__setattr__ = dict.__setitem__
__delattr__ = dict.__delitem__

mydict = {'val':'it works'}
nested_dict = {'val':'nested works too'}
mydict = dotdict(mydict)
mydict.val

'it works'

mydict.nested = dotdict(nested_dict)
mydict.nested.val

'nested works too'

解决方法
如何通过点“。”访问Python词典成员?

例如,mydict['val']我想写而不是写mydict.val。

我也想以这种方式访问​​嵌套的字典。例如

mydict.mydict2.val
将指

mydict = { 'mydict2': { 'val': ... } }
声明:地推任务网所有作品(图片、文字)均由用户自行上传分享,仅供网友学习交流。

相关文章
|
29天前
|
存储 索引 Python
Python学习笔记----列表、元组和字典的基础操作
这篇文章是一份Python学习笔记,涵盖了列表、元组和字典的基础操作,包括它们的创建、修改、删除、内置函数和方法等。
Python学习笔记----列表、元组和字典的基础操作
|
15天前
|
存储 Python 容器
python字典的常用操作方法
python字典的常用操作方法
|
15天前
|
存储 JSON JavaScript
使用 Python 将字典转换为 JSON
【8月更文挑战第27天】
14 2
|
21天前
|
存储 索引 Python
六:《Python基础语法汇总》— 字典和序列操作
本篇文章讲解了对字典元素的索引,以及字典常用的方法和函数;对字典的遍历;字典推导式和关于序列的运算符及方法
14 2
|
27天前
|
程序员 数据库连接 API
分享一个解决 EF 性能低的思路,通过 Python 访问心跳侦测 API 保持 EF 在线
分享一个解决 EF 性能低的思路,通过 Python 访问心跳侦测 API 保持 EF 在线
|
13天前
|
存储 数据库 Python
Python 中的字典是什么?
【8月更文挑战第29天】
13 0
|
14天前
|
Python
python在列表、元素、字典、集合和numpy的数组前加上星号 * 是什么含义,以及*args和**kwargs的使用
python在列表、元素、字典、集合和numpy的数组前加上星号 * 是什么含义,以及*args和**kwargs的使用
22 0
|
1月前
|
存储 索引 Python
探究 Python3 字典的现世
【8月更文挑战第6天】Python 3 中的字典是一种内置数据类型,采用键值对形式存储数据,支持通过键快速检索值。字典无序且可变,键唯一。创建字典可用 `{}` 或 `dict()` 函数,访问、更新和删除条目分别通过索引、`update()` 和 `del` 实现。
31 1
|
17天前
|
机器学习/深度学习 开发工具 Python
【Azure 应用服务】使用Python Azure SDK 来获取 App Service的访问限制信息(Access Restrictions)
【Azure 应用服务】使用Python Azure SDK 来获取 App Service的访问限制信息(Access Restrictions)
|
18天前
|
Python
合并两个 Python 字典
【8月更文挑战第24天】
11 0