我正在处理一个Python字典。我正在尝试按字母顺序对其进行排序,并将其拆分以使其看起来更好一些。以下是我在字典中迄今为止的代码。
authorentry = {'author': name, 'date': datef , 'path': path_change , 'msg' : xmlMsgf }
if not name in author:
author[ name ] = []
author[ name ].append( authorentry )
if not authorentry in author.items():
author['author'] = [authorentry]
print sorted (author.keys()), sorted (author.values())
现在我想要的是按照作者和日期的顺序对字典进行排序并打印出来。如果可能的话,将其分割并修改,以便不包含所有那些逗号和'u'。有关如何实现此目标的任何想法吗?
这是当我按原样打印它时它看起来的样子。
我希望作者首先出现在列表中而不是日期。如果可能的话,我希望它按字母顺序排列,并删除条目中的逗号以使其更清晰地打印。是否可能?
[[{'date': ['06-08-2012 09:01:52 PM'], 'path': [u'/branches/Patch_4_2_0_Branch'], 'msg': ['none', u'PATCH_BRANCH:N/A\nBUG_NUMBER:N/A\nFEATURE_AFFECTED:N/A\nOVERVIEW:N/A\nAdding the SVN log size requirement to the branch \n'], 'author': u'glv'}], [{'date': ['06-08-2012 09:01:52 PM'], 'path': [u'/branches/Patch_4_2_0_Branch'], 'msg': ['none', u'PATCH_BRANCH:N/A\nBUG_NUMBER:N/A\nFEATURE_AFFECTED:N/A\nOVERVIEW:N/A\nAdding the SVN log size requirement to the branch \n'], 'author': u'glv'}]]
更新:目前我可以将作者分组,但由于某些原因,我不仅无法按字母顺序排列,甚至无法让作者成为列表中的第一个人,显示出来的内容类似于这样:
Date: 06-08-2012 08:56:09 PM
Changes by : glv
Comments: PATCH_BRANCH:N/A BUG_NUMBER:N/A FEATURE_AFFECTED:N/A OVERVIEW:N/A Adding the svn commit line requrement
Directory Location: /trunk
The way i wanted it ordered is more like this.
Changes by : glv
Date: 06-08-2012 08:56:09 PM
Directory Location: /trunk
Comments: PATCH_BRANCH:N/A BUG_NUMBER:N/A FEATURE_AFFECTED:N/A OVERVIEW:N/A Adding the svn commit line requrement
我尝试使用有序列表来看看是否可以以这种方式使其工作,但迄今为止没有运气或成功。我是否漏掉了什么东西?
u
和逗号只是用来显示字典语法的一部分,对吧?你负责按照自己的方式打印元素... 另外 - 我可以看到可能与XML有关联,但它并没有被使用 - 一个单独的字典包含了所有作者姓名等信息... 这会有帮助 - 1)正确格式化你的代码,2)展示示例数据 - Jon Clements__str__
方法,来处理authorentry
。 - tobias_k