我的代码是图片里的,
运行结果是这样
但要求是这样,请问怎么改
你在第二循环里面用for k,v in d.items():可以获取键值对,判断k是否等于replay,然后对这个值执行遍历输出
posts = {}
print('论坛帖子')
print('=' * 30)
posts = [{'id': 1,
'title': '测试标题1',
'author': '匿名用户1',
'publish': '2018-01-01',
'content': '这里是帖子的测试内容1……',
'replay': [{'publish': '2018-01-06', 'content': '这里是回复内容1……'},
{'publish': '2018-01-05', 'content': '这里是回复内容2……'}]},
{'id': 2,
'title': '测试标题2',
'author': '匿名用户3',
'publish': '2018-02-11',
'content': '这里是帖子的测试内容2……',
'replay': [{'publish': '2018-02-15', 'content': '这里是回复内容3……'},
{'publish': '2018-01-12', 'content': '这里是回复内容4……'}]}, ]
for d in posts:
for k, v in d.items():
if k != 'replay' and k != 'content':
print(k + ":" + str(v))
elif k == 'content':
print('-' * 30)
print(v)
else:
for i in v:
print(f'回复<{i["publish"]}:{i["content"]}>')
print('-' * 30)
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢