User Tools

Site Tools


other:python:misc_by_jyp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
other:python:misc_by_jyp [2021/08/16 14:19]
jypeter [Useful python stuff]
other:python:misc_by_jyp [2021/08/25 08:12]
jypeter [Using ordered dictionaries] Added more details
Line 110: Line 110:
 ==== Using ordered dictionaries ==== ==== Using ordered dictionaries ====
  
-Check the [[https://​realpython.com/​python-ordereddict/​|OrderedDict vs dict in Python: The Right Tool for the Job]] tutorial+**Dictionary order is guaranteed to be insertion order**! Note that the [[https://​docs.python.org/​3/​library/​stdtypes.html#​dict|usual Python dictionary]] also guarantees the order since version **3.6** 
 + 
 +Check the [[https://​docs.python.org/​3/​library/​collections.html#​collections.OrderedDict|OrderedDict class]] (''​from collections import OrderedDict''​) and the [[https://​realpython.com/​python-ordereddict/​|OrderedDict vs dict in Python: The Right Tool for the Job]] tutorial 
 + 
 +==== Printing a readable version of long lists or dictionaries ==== 
 + 
 +The [[https://​docs.python.org/​3/​library/​pprint.html|pprint]] module can be used for //pretty printing// objects (lists, dictionaries,​ ...). It will wrap long lines in a meaningful way 
 + 
 +<​code>>>>​ from collections import OrderedDict 
 + 
 +>>>​ test_dic = OrderedDict([('​AWI-ESM-1-1-LR_AWI',​ {'​r1i1p1f1':​ {'​grid':​ '​gn'​}}),​ ('​CESM2_NCAR',​ {'​r1i1p1f1':​ {'​grid':​ '​gn'​}}),​ ('​IPSL-CM6A-LR_IPSL',​ {'​r1i1p1f1':​ {'​grid':​ '​gr'​},​ '​r1i1p1f2':​ {'​grid':​ '​gr'​},​ '​r1i1p1f3':​ {'​grid':​ '​gr'​},​ '​r1i1p1f4':​ {'​grid':​ '​gr'​}})]) 
 + 
 +>>>​ print(test_dic) 
 +OrderedDict([('​AWI-ESM-1-1-LR_AWI',​ {'​r1i1p1f1':​ {'​grid':​ '​gn'​}}),​ ('​CESM2_NCAR',​ {'​r1i1p1f1':​ {'​grid':​ '​gn'​}}),​ ('​IPSL-CM6A-LR_IPSL',​ {'​r1i1p1f1':​ {'​grid':​ '​gr'​},​ '​r1i1p1f2':​ {'​grid':​ '​gr'​},​ '​r1i1p1f3':​ {'​grid':​ '​gr'​},​ '​r1i1p1f4':​ {'​grid':​ '​gr'​}})]) 
 + 
 +>>>​ pprint.pprint(test_dic) 
 +OrderedDict([('​AWI-ESM-1-1-LR_AWI',​ {'​r1i1p1f1':​ {'​grid':​ '​gn'​}}),​ 
 +             ​('​CESM2_NCAR',​ {'​r1i1p1f1':​ {'​grid':​ '​gn'​}}),​ 
 +             ​('​IPSL-CM6A-LR_IPSL',​ 
 +              {'​r1i1p1f1':​ {'​grid':​ '​gr'​},​ 
 +               '​r1i1p1f2':​ {'​grid':​ '​gr'​},​ 
 +               '​r1i1p1f3':​ {'​grid':​ '​gr'​},​ 
 +               '​r1i1p1f4':​ {'​grid':​ '​gr'​}})]) 
 +</​code>​
  
 /* /*
other/python/misc_by_jyp.txt · Last modified: 2024/04/19 12:02 by jypeter