Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

请问python3如何对中文按拼音排序?

40 views
Skip to first unread message

星仔

unread,
Jul 29, 2010, 10:56:07 AM7/29/10
to
re
--

[m [32m※ 来源:·水木社区 http://newsmth.net·[FROM: 66.71.92.*] [m

周济是母驴

unread,
Jul 29, 2010, 12:59:14 PM7/29/10
to
Works only on Mac OS X (Python 2.x)

$ cat tmp.py
# -*- coding: utf-8 -*-

from objc import *
from Foundation import *

def pinyin_sort(input_list):
defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject_forKey_('zh@collation=pinyin', 'AppleCollationOrder')
defaults.synchronize()
return [x for x in NSArray.arrayWithObjects_(*input_list).sortedArrayUsingSelector_('localizedCompare:')]

for x in pinyin_sort([u'一', u'二', u'三', u'四', u'五']):
print x
$ python tmp.py





$

【 在 starlyf (星仔) 的大作中提到: 】
: 标 题: 请问python3如何对中文按拼音排序?
: 发信站: 水木社区 (Thu Jul 29 22:56:07 2010), 转信
:
: re


: --
:
: [m [32m※ 来源:·水木社区 http://newsmth.net·[FROM: 66.71.92.*] [m


--
铁路里程:2005年 8840千米;2006年23815千米;2007年75900千米;2008年60341千米;
2009年23617千米;2010年12507千米(07月22日)
2008年乘车记录:http://bbs.hasea.com/thread-252753-1-1.html
2009年乘车记录:http://bbs.hasea.com/thread-302197-1-1.html
2010年乘车记录:http://bbs.hasea.com/thread-433686-1-1.html


[m [1;32m※ 来源:·水木社区 newsmth.net·[FROM: 218.68.244.*] [m

星仔

unread,
Jul 29, 2010, 2:20:57 PM7/29/10
to
thanks
不过我是windows
【 在 yaohua2000 (周济是母驴) 的大作中提到: 】
: Works only on Mac OS X (Python 2.x)

: $ cat tmp.py
: # -*- coding: utf-8 -*-
: ...................

倒影

unread,
Jul 29, 2010, 8:37:27 PM7/29/10
to
按gbk编码排序
大多数字就是拼音排序的

【 在 starlyf (星仔) 的大作中提到: 】
: thanks
: 不过我是windows


--

[m [1;34m※ 来源:·水木社区 newsmth.net·[FROM: 218.104.71.*] [m

emerge a new world...

unread,
Jul 29, 2010, 9:44:22 PM7/29/10
to
有两种方法
1. gb2312是按拼音排的,如果你只想处理gb2312的话,这样就可以了
2. 去下unicode的编码文件吧,自己整理。。我曾经整理到gbk
ftp://ftp.unicode.org/
【 在 starlyf (星仔) 的大作中提到: 】
: re


--

[m [1;34m※ 来源:·水木社区 newsmth.net·[FROM: 125.38.33.*] [m

NewBlue

unread,
Jul 29, 2010, 11:06:21 PM7/29/10
to
>>>>> "emerge" == emerge a new world <th...@newsmth.net-SPAM.no> writes:

emerge> 有两种方法1. gb2312是按拼音排的,如果你只想处理gb2312的话,这
emerge> 样就可以了2. 去下unicode的编码文件吧,自己整理。。我曾经整理
emerge> 到gbk ftp://ftp.unicode.org/【 在 starlyf (星仔) 的大作中提
emerge> 到: 】: re


emerge> --

emerge> ※ 来源:·水木社区 newsmth.net·[FROM: 125.38.33.*]

sdflkjsdfsdfj

--
自从你离开了以后,我一直等待着你回来
用仇人的血洗刷自己的耻辱,用自己的眼泪洗刷自己的软弱
My homepage:[http://211.92.88.40/~newblue]

wincss

unread,
Jul 30, 2010, 1:24:09 AM7/30/10
to

【 在 thom (emerge a new world...) 的大作中提到: 】
: 有两种方法
: 1. gb2312是按拼音排的,如果你只想处理gb2312的话,这样就可以了
不是
: 2. 去下unicode的编码文件吧,自己整理。。我曾经整理到gbk
: ...................

--

[m [1;33m※ 来源:·水木社区 newsmth.net·[FROM: 111.165.36.*] [m

wincss

unread,
Jul 30, 2010, 1:23:58 AM7/30/10
to
大多数...

【 在 flybb (倒影) 的大作中提到: 】
: 按gbk编码排序
: 大多数字就是拼音排序的

电子计算机之父

unread,
Jul 30, 2010, 1:58:27 AM7/30/10
to
“简码”不是五笔里面的概念吗

【 在 thom (emerge a new world...) 的大作中提到: 】

: gb2312里面的汉字分为两部分
: 一部分是一级简码,按拼音排的
: 一部分是二级简码,按部首排的
: ...................

--

#include __FILE__


[m [1;35m※ 来源:·水木社区 newsmth.net·[FROM: 211.99.222.*] [m

emerge a new world...

unread,
Jul 30, 2010, 1:57:26 AM7/30/10
to
gb2312里面的汉字分为两部分
一部分是一级简码,按拼音排的
一部分是二级简码,按部首排的
大约各3000多字吧。

基本上可以认为gb2312是按拼音排的,因为二级简码不常用到

【 在 wincss (wincss) 的大作中提到: 】
: 不是


--

[m [1;34m※ 来源:·水木社区 newsmth.net·[FROM: 125.38.33.*] [m

emerge a new world...

unread,
Jul 30, 2010, 1:55:51 AM7/30/10
to
确切的说,是[b0-d7][a1-fe]这部分的中文是接拼音的。

【 在 wincss (wincss) 的大作中提到: 】
: 大多数...

wincss

unread,
Jul 30, 2010, 2:00:19 AM7/30/10
to
一级字库/二级字库
一级简码和二级简码是五笔字型说的

关于常用不常用真没法说,或者说汉字按拼音排序这个事情就不可能实现

连excel排序都把长春当成zhangchun。。。每次排序之后都得自己改

【 在 thom (emerge a new world...) 的大作中提到: 】

: gb2312里面的汉字分为两部分
: 一部分是一级简码,按拼音排的
: 一部分是二级简码,按部首排的
: ...................

emerge a new world...

unread,
Jul 30, 2010, 2:08:29 AM7/30/10
to
像地名啊,你应该用拼音。。最后替换啊。。

或者写python吧。。记得有人写过。

我早些整理unicode汉字的一个成果,最后在网页上去除了声调。
http://inankai.net/hzpy/
长春在那里是正确的。可能长短比长几岁要用得多吧。

基本规则
1. unicode汉字里找拼音
2. 多音字以频率词典先后为序
3. 版本不同以现代汉语词典1983版为优先

当时好像还是用bash写的,早弄没了。
【 在 wincss (wincss) 的大作中提到: 】
: 一级字库/二级字库
: 一级简码和二级简码是五笔字型说的
: 关于常用不常用真没法说,或者说汉字按拼音排序这个事情就不可能实现
: ...................

wincss

unread,
Jul 30, 2010, 2:13:54 AM7/30/10
to

【 在 thom (emerge a new world...) 的大作中提到: 】
: 像地名啊,你应该用拼音。。最后替换啊。。
没有现成的地名拼音库
: 或者写python吧。。记得有人写过。
: 我早些整理unicode汉字的一个成果,最后在网页上去除了声调。
微软的VS International Pack里面有汉字拼音库。。貌似很全。。。

emerge a new world...

unread,
Jul 30, 2010, 2:53:34 AM7/30/10
to
不用微软的东西。

况且,从unicode找,最有安全感。

【 在 wincss (wincss) 的大作中提到: 】
: 没有现成的地名拼音库
: 微软的VS International Pack里面有汉字拼音库。。貌似很全。。。

wincss

unread,
Jul 30, 2010, 3:06:01 AM7/30/10
to
从unicode找是啥意思?

【 在 thom (emerge a new world...) 的大作中提到: 】

: 不用微软的东西。
: 况且,从unicode找,最有安全感。

周济是母驴

unread,
Jul 30, 2010, 3:29:38 AM7/30/10
to
可怜我呕心沥血写的代码就在二楼,都被你们无视了,555

【 在 wincss (wincss) 的大作中提到: 】
: 标 题: Re: 请问python3如何对中文按拼音排序?
: 发信站: 水木社区 (Fri Jul 30 15:06:00 2010), 转信
:
: 从unicode找是啥意思?

--
铁路里程:2005年 8840千米;2006年23815千米;2007年75900千米;2008年60341千米;
2009年23617千米;2010年12507千米(07月22日)
2008年乘车记录:http://bbs.hasea.com/thread-252753-1-1.html
2009年乘车记录:http://bbs.hasea.com/thread-302197-1-1.html
2010年乘车记录:http://bbs.hasea.com/thread-433686-1-1.html


[m [1;34m※ 来源:·水木社区 newsmth.net·[FROM: 184.104.13.*] [m

wincss

unread,
Jul 30, 2010, 3:34:12 AM7/30/10
to
您那个运行不了。。。

【 在 yaohua2000 (周济是母驴) 的大作中提到: 】
: 可怜我呕心沥血写的代码就在二楼,都被你们无视了,555

周济是母驴

unread,
Jul 30, 2010, 3:37:49 AM7/30/10
to
要安装这个包,不过如果是系统的Python的话应该是预装的:

http://pyobjc.sourceforge.net/

【 在 wincss (wincss) 的大作中提到: 】
您那个运行不了。。。

【 在 yaohua2000 (周济是母驴) 的大作中提到: 】
: 可怜我呕心沥血写的代码就在二楼,都被你们无视了,555


--

--

天蓝

unread,
Jul 30, 2010, 4:03:09 AM7/30/10
to
你都已经说了,works only on mac..

【 在 yaohua2000 (周济是母驴) 的大作中提到: 】
: 要安装这个包,不过如果是系统的Python的话应该是预装的:
: http://pyobjc.sourceforge.net/
: 您那个运行不了。。。
: ...................

--
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~


[m [1;36m※ 来源:·水木社区 newsmth.net·[FROM: 124.126.125.*] [m

周济是母驴

unread,
Jul 30, 2010, 4:10:54 AM7/30/10
to
Go to Sanlitun and Get a Mac.

【 在 skybluee (天蓝) 的大作中提到: 】
: 标 题: Re: 请问python3如何对中文按拼音排序?
: 发信站: 水木社区 (Fri Jul 30 16:03:08 2010), 转信
:
: 你都已经说了,works only on mac..

emerge a new world...

unread,
Jul 30, 2010, 4:23:23 AM7/30/10
to
http://www.unicode.org/charts/unihan.html
网页版的。

【 在 wincss (wincss) 的大作中提到: 】
: 从unicode找是啥意思?


--

[m [1;34m※ 来源:·水木社区 newsmth.net·[FROM: 125.38.33.*] [m

emerge a new world...

unread,
Jul 30, 2010, 4:27:50 AM7/30/10
to
呃,呃,如果支持cjka, cjkb, cjkc就考虑看看。
不支持的话,哈哈,算了。

虽然平时我也就认识cjk里面属于gb2312按拼音排序的前3000多字。

【 在 yaohua2000 (周济是母驴) 的大作中提到: 】
: 可怜我呕心沥血写的代码就在二楼,都被你们无视了,555

冬天的白菜

unread,
Jul 30, 2010, 10:12:44 AM7/30/10
to
are you kidding? cjka,b,c ?
【 在 thom (emerge a new world...) 的大作中提到: 】
: 标 题: Re: 请问python3如何对中文按拼音排序?
: 发信站: 水木社区 (Fri Jul 30 16:27:50 2010), 转信
:
: 呃,呃,如果支持cjka, cjkb, cjkc就考虑看看。


--

[m [1;37m※ 来源:·水木社区 newsmth.net·[FROM: 114.250.73.*] [m

0 new messages