On 25/04/18 14:22, Kai Bojens wrote: > The structure I'd like to have: > > result = { > 'f...@bar.de': { > 'Countries': [DE,DK,UK] > 'IP': ['192.168.1.1','172.10.10.10'] > 'Count': [12] > } > } > ... > for line in logfile: > result = pattern.search(line)
Doesn't this overwrite your data structure? I would strongly advise using another name. > if (result): > login_ip = result.group("login_ip") > login_auth = result.group("login_auth") > response = reader.city(login_ip) > login_country = response.country.iso_code > if login_auth in result and login_country in result[login_auth]: > continue > else: > result[login_auth].append(login_country) > else: > continue > 1. How do I check if a value exists within a list which is the value of a key > which is again a value of a key in my understanding exists? What I like to do: dic = {'key1':{'key2':[...]}} if my_value in dic[key1][key2]: > if login_auth in result and (login_country in result[login_auth][Countries]) > continue Should work. > This obviously does not work and I am not quite sure how to address the values > of 'Countries' in the right way. I'd like to check 'Key1:Key2:List' and don't > know how to address this It should worjk as you expect. However personally I'd use a class to define tyour data structure and just have a top leveldictionary holding instances of the class. Something like: class Login: def __init__(self, countries, IPs, count): self.countries = countries self.IPs = IPs self.count = count results = {'f...@bar.de': Login([DE,DK,UK], ['192.168.1.1','172.10.10.10'], [12]) } if auth in results and (myvalue in results[auth].Countries): ... BTW should count really be a list? > 2. How do I append new values to these lists within the nested dict? Same as any other list, just use the append() method: dic[key1][key2].append(value) or with a class: results[auth].IPs.append(value) HTH -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.amazon.com/author/alan_gauld Follow my photo-blog on Flickr at: http://www.flickr.com/photos/alangauldphotos _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor