I have a string and a list of objects:
gpl = \"%(id)s : %(atr)s\"
objects = [{\'id\':1, \'content\':[{\'atr\':\'big\', \'no\':2}]}, {\'id\':2, \'content\':
You need to turn obj and con into one dictionary - your current code passes in a tuple.
If you don't care what happens to objects afterwards, use dict.update:
for obj in objects:
for con in obj["content"]:
con.update(obj)
print gpl % con
1 : big
2 : small
If you don't want objects modified, you'll need to build an intermediate dictionary:
for obj in objects:
for con in obj["content"]:
print gpl % {'id': obj["id"], 'atr': con["atr"]}
1 : big
2 : small