我有一个字符串和一个对象列表:
gpl = "%(id)s : %(atr)s"
objects = [{'id':1, 'content':[{'atr':'big', 'no':2}]}, {'id':2, 'content': [{'atr':'small', 'no':3}]}]
for obj in objects:
for con in obj['content']:
print gpl %(obj,con)
我得到:
TypeError: format requires a mapping
我怎么打印这个?我想打印:
1 : big
2 : small
谢谢你
您需要将
obj
和con
转换为一个字典-您当前的代码传入一个tuple
。如果您不关心之后
objects
会发生什么,请使用dict.update:如果不想修改
objects
,则需要构建一个中间字典:由于格式化字符串使用命名参数:
您需要在字典中提供键(名称)作为参数,以引用格式字符串中的命名格式键:
所以你的代码是:
相关问题 更多 >
编程相关推荐