Python论坛  - 讨论区

标题:[python-chinese] 另外的字典排序问题

2004年09月07日 星期二 14:56

Wang Chao cnw at vip.sina.com
Tue Sep 7 14:56:33 HKT 2004

现在已经有一个字典,Keys是英文单词,Values是这个单词在文件中出现的次数。
想要给这个字典重新排序,让出现次数最多的单词排第一位,出现次数最少的排最后。

我尝试把字典里的values放入一个list里,在对list排序,但是好像排完也没有什么意义。很多单词的values值一样,就是排完也没有办法把把排序结果应用回原来的字典里。

我能想当的另一个方案是,每个单词和后面的所有词比较,当遇到values比他大的,就改为values更大的单词开始比较,如果到最后都没有比他大的,就把这个词写入新字典里,同时在旧字典里删除自己,但是好像太弱智了点。


不知道还有什么其他更好地解决方案。

谢谢~~~

基础太差,时间又太紧,我问题好多,学得好辛苦 。 :(


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040906/b5bc010b/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月07日 星期二 15:02

王 斌 wangbin_sd at yahoo.com.cn
Tue Sep 7 15:02:20 HKT 2004

我记得书上说字典是没有元素顺序的概念的。如果排列好了放进新字典,那么顺序也不会是想要得吧?

Wang Chao <cnw at vip.sina.com> wrote:现在已经有一个字典,Keys是英文单词,Values是这个单词在文件中出现的次数。
想要给这个字典重新排序,让出现次数最多的单词排第一位,出现次数最少的排最后。
 
我尝试把字典里的values放入一个list里,在对list排序,但是好像排完也没有什么意义。很多单词的values值一样,就是排完也没有办法把把排序结果应用回原来的字典里。
 
我能想当的另一个方案是,每个单词和后面的所有词比较,当遇到values比他大的,就改为values更大的单词开始比较,如果到最后都没有比他大的,就把这个词写入新字典里,同时在旧字典里删除自己,但是好像太弱智了点。
 

不知道还有什么其他更好地解决方案。  
谢谢~~~
 
基础太差,时间又太紧,我问题好多,学得好辛苦 。 :(

 
 
 
_______________________________________________
python-chinese list
python-chinese at lists.python.cn
http://python.cn/mailman/listinfo/python-chinese




---------------------------------
Do You Yahoo!?
150万曲MP3疯狂搜,带您闯入音乐殿堂
美女明星应有尽有,搜遍美图、艳图和酷图
1G就是1000兆,雅虎电邮自助扩容!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040907/7cac31a5/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月07日 星期二 15:10

Zoom.Quiet zoomq at infopro.cn
Tue Sep 7 15:10:10 HKT 2004

Hollo Wang:

  最基本的冒泡等等排序方法哪???
就拿字典本身来排,每次冒泡到新的字典中就好………………


/******** [2004-09-07]15:08:56 ; Wang wrote:

Wang Chao> 现在已经有一个字典,Keys是英文单词,Values是这个单词在文件中出现的次数。
Wang Chao> 想要给这个字典重新排序,让出现次数最多的单词排第一位,出现次数最少的排最后。

Wang Chao> 我尝试把字典里的values放入一个list里,在对list排序,但是好像排完也没有什么意义。很多单词的values值一样,就是排完也没有办法把把排序结果应用回原来的字典里。

Wang Chao> 我能想当的另一个方案是,每个单词和后面的所有词比较,当遇到values比他大的,就改为values更大的单词开始比较,如果到最后都没有比他大的,就把这个词写入新字典里,同时在旧字典里删除自己,但是好像太弱智了点。


Wang Chao> 不知道还有什么其他更好地解决方案。

Wang Chao> 谢谢~~~

Wang Chao> 基础太差,时间又太紧,我问题好多,学得好辛苦 。 :(




********************************************/

-- 
Free as in Freedom

 Zoom.Quiet                           

#=========================================#
]Time is unimportant, only life important![
#=========================================#

sender is the Bat!2.12.00



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月07日 星期二 15:11

Gary Jia gary at exoweb.net
Tue Sep 7 15:11:18 HKT 2004

字典没有顺序的概念。不能排序。

Wang Chao 写道:

> 现在已经有一个字典,Keys是英文单词,Values是这个单词在文件中出现的次数。
> 想要给这个字典重新排序,让出现次数最多的单词排第一位,出现次数最少的排
> 最后。
> 我尝试把字典里的values放入一个list里,在对list排序,但是好像排完也没有
> 什么意义。很多单词的values值一样,就是排完也没有办法把把排序结果应用回
> 原来的字典里。
> 我能想当的另一个方案是,每个单词和后面的所有词比较,当遇到values比他大
> 的,就改为values更大的单词开始比较,如果到最后都没有比他大的,就把这个
> 词写入新字典里,同时在旧字典里删除自己,但是好像太弱智了点。
>
> 不知道还有什么其他更好地解决方案。
> 谢谢~~~
> 基础太差,时间又太紧,我问题好多,学得好辛苦 。 :(
>
>------------------------------------------------------------------------
>
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>  
>




[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月07日 星期二 15:22

limodou limodou at gmail.com
Tue Sep 7 15:22:32 HKT 2004

写成一个tuple再排序。如:
a = []
for key, value in d.items():
    a.append((value, key))
a.reverse()
这样a[0]就是最大的次数了。


----- Original Message -----
From: Wang Chao <cnw at vip.sina.com>
Date: Mon, 6 Sep 2004 23:56:33 -0700
Subject: [python-chinese] 另外的字典排序问题
To: python-chinese at lists.python.cn




现在已经有一个字典,Keys是英文单词,Values是这个单词在文件中出现的次数。
想要给这个字典重新排序,让出现次数最多的单词排第一位,出现次数最少的排最后。
 
我尝试把字典里的values放入一个list里,在对list排序,但是好像排完也没有什么意义。很多单词的values值一样,就是排完也没有办法把把排序结果应用回原来的字典里。
 
我能想当的另一个方案是,每个单词和后面的所有词比较,当遇到values比他大的,就改为values更大的单词开始比较,如果到最后都没有比他大的,就把这个词写入新字典里,同时在旧字典里删除自己,但是好像太弱智了点。
 

不知道还有什么其他更好地解决方案。 
 
谢谢~~~
 
基础太差,时间又太紧,我问题好多,学得好辛苦 。 :(
 
 
  

_______________________________________________
python-chinese list
python-chinese at lists.python.cn
http://python.cn/mailman/listinfo/python-chinese






-- 
I like python!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月07日 星期二 15:26

Jerry Marx Pythoner at gmail.com
Tue Sep 7 15:26:36 HKT 2004

???
应该先a.sort()再a.reverse()吧?
for循环会按照从小到大的顺序从字典中取值么?

On Tue, 7 Sep 2004 15:22:32 +0800, limodou <limodou at gmail.com> wrote:
> 写成一个tuple再排序。如:
> a = []
> for key, value in d.items():
>     a.append((value, key))
> a.reverse()
> 这样a[0]就是最大的次数了。
> 
> ----- Original Message -----
> From: Wang Chao <cnw at vip.sina.com>
> Date: Mon, 6 Sep 2004 23:56:33 -0700
> Subject: [python-chinese] 另外的字典排序问题
> To: python-chinese at lists.python.cn
> 
> 现在已经有一个字典,Keys是英文单词,Values是这个单词在文件中出现的次数。
> 想要给这个字典重新排序,让出现次数最多的单词排第一位,出现次数最少的排最后。
> 
> 我尝试把字典里的values放入一个list里,在对list排序,但是好像排完也没有什么意义。很多单词的values值一样,就是排完也没有办法把把排序结果应用回原来的字典里。
> 
> 我能想当的另一个方案是,每个单词和后面的所有词比较,当遇到values比他大的,就改为values更大的单词开始比较,如果到最后都没有比他大的,就把这个词写入新字典里,同时在旧字典里删除自己,但是好像太弱智了点。
> 
> 不知道还有什么其他更好地解决方案。
> 
> 谢谢~~~
> 
> 基础太差,时间又太紧,我问题好多,学得好辛苦 。 :(
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> --
> I like python!
> 
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月07日 星期二 15:46

Wang Chao cnw at vip.sina.com
Tue Sep 7 15:46:33 HKT 2004

嘿嘿,正是我想的,不过我怕用那些算法教授看了会吐血而亡。

另外,老大,刚才你发给的那个东西看不太懂啊,不过其中正则表达式的部分看明白了。html2xml的py文件我也看了,基本上不大明白。见笑见笑。

有MSN QQ ICQ Popo么,可以加我一下么

ICQ : 47569848
QQ : 162465
MSN : iwillipo at hotmail.com
Popo : iwillipo

王超

----- Original Message ----- 
From: "Zoom.Quiet" <zoomq at infopro.cn>
To: "Wang Chao" <python-chinese at lists.python.cn>
Sent: Tuesday, September 07, 2004 12:10 AM
Subject: Re: [python-chinese] 另外的字典排序问题


> Hollo Wang:
> 
>   最基本的冒泡等等排序方法哪???
> 就拿字典本身来排,每次冒泡到新的字典中就好………………
> 
> 
> /******** [2004-09-07]15:08:56 ; Wang wrote:
> 
> Wang Chao> 现在已经有一个字典,Keys是英文单词,Values是这个单词在文件中出现的次数。
> Wang Chao> 想要给这个字典重新排序,让出现次数最多的单词排第一位,出现次数最少的排最后。
> 
> Wang Chao> 我尝试把字典里的values放入一个list里,在对list排序,但是好像排完也没有什么意义。很多单词的values值一样,就是排完也没有办法把把排序结果应用回原来的字典里。
> 
> Wang Chao> 我能想当的另一个方案是,每个单词和后面的所有词比较,当遇到values比他大的,就改为values更大的单词开始比较,如果到最后都没有比他大的,就把这个词写入新字典里,同时在旧字典里删除自己,但是好像太弱智了点。
> 
> 
> Wang Chao> 不知道还有什么其他更好地解决方案。
> 
> Wang Chao> 谢谢~~~
> 
> Wang Chao> 基础太差,时间又太紧,我问题好多,学得好辛苦 。 :(
> 
> 
> 
> 
> ********************************************/
> 
> -- 
> Free as in Freedom
> 
>  Zoom.Quiet                           
> 
> #=========================================#
> ]Time is unimportant, only life important![
> #=========================================#
> 
> sender is the Bat!2.12.00
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月07日 星期二 16:11

Jacky Lee jagucpu at 126.com
Tue Sep 7 16:11:07 HKT 2004

为什么我不能发言?奇怪。。。。

>>> a={'a':3,'b':5,'c':1,'d':4}
>>> a
{'a': 3, 'c': 1, 'b': 5, 'd': 4}
>>> b=[x for x in a]
>>> b
['a', 'c', 'b', 'd']
>>> c=[y for x,y in a.iteritems()]
>>> c
[3, 1, 5, 4]
>>> d=dict(zip(c,b))
>>> d
{1: 'c', 3: 'a', 4: 'd', 5: 'b'}

  ----- Original Message ----- 
  From: Wang Chao 
  To: python-chinese at lists.python.cn 
  Sent: Tuesday, September 07, 2004 2:56 PM
  Subject: [python-chinese] 另外的字典排序问题


  现在已经有一个字典,Keys是英文单词,Values是这个单词在文件中出现的次数。
  想要给这个字典重新排序,让出现次数最多的单词排第一位,出现次数最少的排最后。

  我尝试把字典里的values放入一个list里,在对list排序,但是好像排完也没有什么意义。很多单词的values值一样,就是排完也没有办法把把排序结果应用回原来的字典里。

  我能想当的另一个方案是,每个单词和后面的所有词比较,当遇到values比他大的,就改为values更大的单词开始比较,如果到最后都没有比他大的,就把这个词写入新字典里,同时在旧字典里删除自己,但是好像太弱智了点。


  不知道还有什么其他更好地解决方案。 

  谢谢~~~

  基础太差,时间又太紧,我问题好多,学得好辛苦 。 :(





------------------------------------------------------------------------------


  _______________________________________________
  python-chinese list
  python-chinese at lists.python.cn
  http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040907/8e3c834a/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月07日 星期二 16:16

Jacky Lee jagucpu at 126.com
Tue Sep 7 16:16:11 HKT 2004

终于发出来了。。。。b,c这种写法极蠢。谁帮我改下?
  ----- Original Message ----- 
  From: Jacky Lee 
  To: python-chinese at lists.python.cn 
  Sent: Tuesday, September 07, 2004 4:11 PM
  Subject: Re: [python-chinese] 另外的字典排序问题


  为什么我不能发言?奇怪。。。。

  >>> a={'a':3,'b':5,'c':1,'d':4}
  >>> a
  {'a': 3, 'c': 1, 'b': 5, 'd': 4}
  >>> b=[x for x in a]
  >>> b
  ['a', 'c', 'b', 'd']
  >>> c=[y for x,y in a.iteritems()]
  >>> c
  [3, 1, 5, 4]
  >>> d=dict(zip(c,b))
  >>> d
  {1: 'c', 3: 'a', 4: 'd', 5: 'b'}

    ----- Original Message ----- 
    From: Wang Chao 
    To: python-chinese at lists.python.cn 
    Sent: Tuesday, September 07, 2004 2:56 PM
    Subject: [python-chinese] 另外的字典排序问题


    现在已经有一个字典,Keys是英文单词,Values是这个单词在文件中出现的次数。
    想要给这个字典重新排序,让出现次数最多的单词排第一位,出现次数最少的排最后。

    我尝试把字典里的values放入一个list里,在对list排序,但是好像排完也没有什么意义。很多单词的values值一样,就是排完也没有办法把把排序结果应用回原来的字典里。

    我能想当的另一个方案是,每个单词和后面的所有词比较,当遇到values比他大的,就改为values更大的单词开始比较,如果到最后都没有比他大的,就把这个词写入新字典里,同时在旧字典里删除自己,但是好像太弱智了点。


    不知道还有什么其他更好地解决方案。 

    谢谢~~~

    基础太差,时间又太紧,我问题好多,学得好辛苦 。 :(





----------------------------------------------------------------------------


    _______________________________________________
    python-chinese list
    python-chinese at lists.python.cn
    http://python.cn/mailman/listinfo/python-chinese



------------------------------------------------------------------------------


  _______________________________________________
  python-chinese list
  python-chinese at lists.python.cn
  http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040907/0c482d8a/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月07日 星期二 16:17

Jacky Lee jagucpu at 126.com
Tue Sep 7 16:17:59 HKT 2004

不过map里面key 是不能重复的,我那样的做法会让重复的key-value合并掉。
  ----- Original Message ----- 
  From: Jacky Lee 
  To: python-chinese at lists.python.cn 
  Sent: Tuesday, September 07, 2004 4:11 PM
  Subject: Re: [python-chinese] 另外的字典排序问题


  为什么我不能发言?奇怪。。。。

  >>> a={'a':3,'b':5,'c':1,'d':4}
  >>> a
  {'a': 3, 'c': 1, 'b': 5, 'd': 4}
  >>> b=[x for x in a]
  >>> b
  ['a', 'c', 'b', 'd']
  >>> c=[y for x,y in a.iteritems()]
  >>> c
  [3, 1, 5, 4]
  >>> d=dict(zip(c,b))
  >>> d
  {1: 'c', 3: 'a', 4: 'd', 5: 'b'}

    ----- Original Message ----- 
    From: Wang Chao 
    To: python-chinese at lists.python.cn 
    Sent: Tuesday, September 07, 2004 2:56 PM
    Subject: [python-chinese] 另外的字典排序问题


    现在已经有一个字典,Keys是英文单词,Values是这个单词在文件中出现的次数。
    想要给这个字典重新排序,让出现次数最多的单词排第一位,出现次数最少的排最后。

    我尝试把字典里的values放入一个list里,在对list排序,但是好像排完也没有什么意义。很多单词的values值一样,就是排完也没有办法把把排序结果应用回原来的字典里。

    我能想当的另一个方案是,每个单词和后面的所有词比较,当遇到values比他大的,就改为values更大的单词开始比较,如果到最后都没有比他大的,就把这个词写入新字典里,同时在旧字典里删除自己,但是好像太弱智了点。


    不知道还有什么其他更好地解决方案。 

    谢谢~~~

    基础太差,时间又太紧,我问题好多,学得好辛苦 。 :(





----------------------------------------------------------------------------


    _______________________________________________
    python-chinese list
    python-chinese at lists.python.cn
    http://python.cn/mailman/listinfo/python-chinese



------------------------------------------------------------------------------


  _______________________________________________
  python-chinese list
  python-chinese at lists.python.cn
  http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040907/f560a5c7/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号