python列表,新手疑问

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 dd in d:
        print(dd + ":" + str(d[dd]))
    print('-'*30)

我目前的输出是这样的

但是要求是这样的

请问怎么修改

for d in posts:

    print(‘postId:’, d[‘id’])

    print(‘title:’, d[‘title’])

    print(‘author:’, d[‘author’])

    print(‘publish:’, d[‘publish’])

    print(‘-‘ * 30)

    print(d[‘content’])

    print()

    for r in d[‘replay’]:

        print(‘回复<‘, r[‘publish’], ‘>:’, r[‘content’])

    print()

    print()

 

 

手机打的代码,如果能得到你想要的结果,麻烦采纳一下。如果还有其他问题,可继续交流。