字典排序问题

你好, 我有一个词典,用于计算文档中字符串的术语. 词典看起来像这样: "你好":135 "再见":30 露西':4 "天空":55 "钻石":239843 "昨天":4 我想打印字典,所以我首先看到最常见的词: "钻石":239843 "你好":135 "天空":55 "再见":30 露西':4 "昨天":4 我该怎么做呢? 注意我不能"交换"字典(制作键 值和值键)和排序,因为我有像露西这样的值 昨天有相同数量的发生. 谢谢.

# 回答1

杰里布写道: 不要试图"交换" dict,只需根据项目中的项目对列表进行排序 命令. 尝试这个: 原始= { "你好":135, "再见":30, 露西':4, "天空":55, "钻石":239843, "昨天":4} 项目= sorted((v,k)for Original.iteritems())中的(k,v)) items.reverse()#取决于您想要的顺序 打印项目 结果是: [((239843,'钻石'),(135,'Hello'),(55,'Sky'),(30,Goodbye'),(4,','laster'), (4,'露西')] - 帝国
# 回答2

您无法对字典进行排序(如哈希表所实现),它们是 无序数据类型,因此从定义上讲,没有办法强制订单 在他们. http://en.wikipedia.org/wiki/hash_tables
# 回答3

在2005年9月16日星期五21:42:40 +0200,Irmen de Jong 写道:不要试图"交换" dict 根据dict中的项目列表. 尝试以下试试:原始= {'Hello':135,'Goodbye':30,'Lucy':4,'Sky':55,'Diamonds':239843,'stayer':4}项目 )for(k,v)在onigral.iteritems())项目中. 结果是:[(239843,'Diamonds'),(135,'Hello'),(55,'Sky'),(30,'Goodbye'),(4,','lathay'),(4,'露西 ')]] 或告诉分类该怎么做;-) [('Diamonds',239843),('Hello',135),('Sky',55),('Goodbye',30),("昨天",4),('Lucy',4)] 问候, Bengt Richter
# 回答4

Bengt Richter写道: 或此主题的轻微变化,这只会为您提供价值的钥匙 订购而不是元组: 打印k,原始[k] 钻石239843 你好135 天空55 再见30 昨天4 露西4
# 回答5

在2005年9月17日11:01:41 GMT,Duncan Booth <************@invalid.invalid>写道:[('Diamonds',239843),('Hello',135),( 'Sky',55),("再见",30),("昨天",4),("露西",4)]或此主题的微小变化,这只是为您提供了ValueOrder而不是元组的钥匙 :打印k,原始[k] 好的. 我也喜欢关键字用法. 比我的hastypaste更清楚;-)钻石239843Hello 135SKY 55GOODBYE 30年4月4日4-lucy 4 问候, Bengt Richter

标签: python

添加新评论