python dict 包含之
时间: 2023-08-19 09:17:55 浏览: 168
引[1]:I'm searching an elegant way to get data using attribute on a dict with some dicts and lists (i.e javascript-style object syntax)。
引用[2]:I, this is not possible recursion, but what would be nice way to get an style for dicts?。
用[3]:print(set(a)) Traceback ( recent call last): File “”, line 1, in TypeError: unhashable type: ‘dict’ set(a) Traceback (most recent call last): File “”, line 1, in TypeError: unhashable type: ‘dict’ a[1] {‘match’: {‘recirc_id’: ‘1’, ‘in_port’: ‘dpdk1’}, ‘action’: {‘type’: ‘dpdk0’}} a[2] Traceback (most recent call last): File “”, line 1, in IndexError: list index out of range a[0] {‘match’: {‘recirc_id’: ‘0’, ‘in_port’: ‘dpdk1’}, ‘action’: {‘type’: ‘dpdk0’}} set(a[0]) {‘action’, ‘match’} set(a[1]) {‘action’, ‘match’} dict(a[0]) {‘match’: {‘recirc_id’: ‘0’, ‘in_port’: ‘dpdk1’}, ‘action’: {‘type’: ‘dpdk0’}} dict(a[1]) {‘match’: {‘recirc_id’: ‘1’, ‘in_port’: ‘dpdk1’}, ‘action’: {‘type’: ‘dpdk0’}}。
问题:python dict 包含之前提到的嵌套字典和列表,有没有一种优雅的方法可以使用属性访问来获取数据,类似于JavaScript中的对象语法?
回答: 在Python中,可以使用`collections.namedtuple`或者自定义类来实现类似JavaScript对象语法的属性访问。这样可以通过点号操作符来访问字典中的值。另外,还可以使用`json`模块将字典转换为JSON字符串,然后使用`json.loads`将其转换回字典,这样也可以实现类似的效果。然而,对于嵌套的字典和列表,如果要实现属性访问,可能需要使用递归的方式来处理。[2]
阅读全文