There are a number of ways to reorganise the data for the exclusive use of your 
script without affecting the original data.  Is there a reason you can't or not 
allowed to do this?

Regardless, here's some code that might make things a little easier.  It 
operates on each balancer on the fly, reduces the number of for loops, and 
eliminates worries about where the tags are placed within the list.

from operator import itemgetter

alist = \
    [
        [
            {u'Value': 'shibboleth-prd', u'Key': 'Name'},
            {u'Value': 'kvmu', u'Key': 'Billing'},
            {u'Value': '20179204-181622543367489', u'Key': 'Resource_group_id'}
        ],
        [
            {u'Value': '20172857-152037106154311', u'Key': 'Resource_group_id'},
            {u'Value': 'shibboleth-tst', u'Key': 'Name'}
        ]
    ]

# Problem:
# for all resource group id tags that equal '20172857-152037106154311':
#   print its name tag (eg, "shibboleth-prd-alb")

# create a container (dict) of tags for each balancer on the fly
for balancer in alist:
    tags = dict(map(itemgetter('Key', 'Value'), balancer))
    print 'group of tags:', tags
    if itemgetter('Resource_group_id')(tags) == '20172857-152037106154311':
        print '\tfound resource, resource name:', itemgetter('Name')(tags)

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to