Extract Values from a Python List

Extract Values from a Python List

How can I iterate through and extract values from the following list, the code I am using below only gets the key values.

> [{'filename': <docxtpl.InlineImage object at 0x040038D0>, 'desc':
> u'dfgdgfdfg'}, {'filename': <docxtpl.InlineImage object at
> 0x04014930>, 'desc': u'dfgdfgdfg'}, {'filename': <docxtpl.InlineImage
> object at 0x04014A90>, 'desc': u'fghfghfh'}]

Code:

for k,v in audit_items_list:
    print audit_items_list
    print k
    print v

If I use k.value(). I get the following error :

AttributeError: 'str' object has no attribute 'values'

Update: Thanks for all the help, but i actually want to grab the values of filename and desc on each iteration...

3

4 Answers

The outer item is a list, and the inner items are dictionaries. You just need to go one level deeper.

for audit_item in audit_items_list:
  for k, v in audit_item.items():
    # iterate over key value pairs. 
    # Or get the entire list of each by doing item.keys() or item.values()

Use audit_items_list.items() if you are using Python 3 or audit_items_list.iteritems() if you are using Python 2.

2
for tdict in audit_items_list:    # To iterate over all dictionaries present in the list
    # print tdict
    for key in tdict:    # To iterate over all the keys in current dictionary
        # print key
        print tdict[key]    # To get the value corresponding to that key

Clearly, this is a list of dictionaries where every dictionary has one key-value pair.

for item in audit_items_list:
 (key, val) = item.items()
  print(key,value)

Hope this helps!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Sarah Jenkins
Author

Sarah Jenkins

Sarah Jenkins is a veteran tech journalist with over 12 years of experience covering artificial intelligence, mobile innovations, and digital ethics. Her insights have appeared in leading technology publications worldwide.