Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ebbda7e

Browse files
committed
Post on using namedtuples to convert dicts to objects
1 parent cf3ee15 commit ebbda7e

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
Title: Using namedtuple's to convert dicts to objects
2+
Date: 2023-08-25 15:06
3+
Modified: 2023-08-25 15:06
4+
Category: Posts
5+
tags: python,dict,namedtuple
6+
cover: static/imgs/python-logo-master-v3-TM.png
7+
summary: Quick and dirty way to convert a dict into an object in Python using namedtuple's
8+
9+
A friend shared this with me today and I thought it was pretty neat. If you have a dict, and
10+
you want to convert it to an object where the object properties are the keys from the dict, and
11+
the values are the values from the dict, you can use a namedtuple to do so. For example:
12+
13+
```python
14+
>>> some_dict = {"name": "My name", "func" : "my func"}
15+
>>> import namedtuple
16+
>>> SomeClass = namedtuple("SomeClass", some_dict.keys())
17+
>>> as_an_object = SomeClass(**some_dict)
18+
>>> as_an_object.name
19+
'My name'
20+
>>> as_an_object.func
21+
'my func'
22+
```
23+
24+
Won't handle nested dicts (the sub-dicts will still be dicts on the constructed object), but
25+
for a quick and dirty way to convert a dict to an object, this seems pretty handy.
26+
27+
Using the splat operator you can also save a line of code:
28+
29+
```python
30+
>>> as_an_object = namedtuple("SomeClass", some_dict.keys())(**some_dict)
31+
>>> as_an_object
32+
SomeClass(name='My name', func='my func')
33+
```

0 commit comments

Comments
 (0)