i have dictionaries follows
d1={} d2={} d3={}
values of dictionary keys contains list
, list,
l1=[d1,d2,d3]
list contains names of dictionaries available. want iterate through dictionaries available through list contains dictionary names.
how can access dictionaries through list ?
>>> l1 = [d1,d2,d3] >>> d in l1: k,v in d.items(): print(k,v)
a better example
d1 = {"a":"a"} d2 = {"b":"b"} d3 = {"c":"c"} l1 = [d1,d2,d3] d in l1: k,v in d.items(): print("key = {0}, value={1}".format(k,v))
produces
>>> key = a, value=a key = b, value=b key = c, value=c
if contain names of dictionaries i.e "d1"
can (which produces same result above):
d1 = {"a":"a"} d2 = {"b":"b"} d3 = {"c":"c"} l1 = ['d1','d2','d3'] dname in l1: k,v in globals()[dname].items(): print("key = {0}, value={1}".format(k,v))
though wouldn't recommend such approach. (note: locals() if dictionaries in local scope)
when have dictionary has list associated key can go on list so:
d1 = {"a":[1,2,3]} d2 = {"b":[4,5,6]} l1=["d1","d2"] d in l1: k,v in globals()[d].items(): #or d.items() if values in l1 references dictionaries print("dictionray {0}, under key {1} contains:".format(d,k)) e in v: print("\t{0}".format(e))
producing
dictionray d1, under key contains: 1 2 3 dictionray d2, under key b contains: 4 5 6
Comments
Post a Comment