python中文按拼音排序
LC_COLLATE="zh_CN.UTF8" sort /tmp/a就可以。
同樣的,python中只需:
import locale
locale.setlocale('LC_COLLATE', 'zh_CN.UTF8')
a = ['中國人', '啊', '你好', '臺灣人']
b = sorted(a, cmp = locale.strcoll)
locale本身不是執行緒安全的,根據下面這篇討論,可以使用contextmanager解決。
http://stackoverflow.com/questions/11121636/sorting-list-of-string-with-specific-locale-in-python
有的伺服器不能locale不能設定成功,需要安裝語言包:
sudo apt-get install language-pack-zh*
相關推薦
python中文按拼音排序
bash中要對中文排序,只需: LC_COLLATE="zh_CN.UTF8" sort /tmp/a就可以。 同樣的,python中只需: import locale locale.setlocale('LC_COLLATE', 'zh_CN.UTF8') a = ['中
java實現按拼音排序
List<WaPayFileVO> list =(List<WaPayFileVO>) dao.execQueryBeanList(pagesql, params.toArray(), new BeanListProcessor(WaPayFileVO.class)); i
Android 聯絡人訂閱號按拼音排序
微信中聯絡人,訂閱號都是按拼音排序的,在按拼音排序的基礎上才能索引,雖然微信從資料庫取出的就是排好序的,我們今天就對List裡的無序資料進行排序。 首先定義一個聯絡人類Contact: /** * Created by dhl on 2017/5/10. */ p
005_015 Python 人名按字母排序,首字母分組
程式碼如下: #encoding=utf-8 print '中國' #人名按字母排序,首字母分組 import itertools import itertools def groupnames(name_iterable): sorted_names = sorted(
c++漢字按拼音排序
dwFlags:一組位標記用以指出是否未轉換成預作或寬字元(若組合形式存在),是否使用象形文字替代控制字元,以及如何處理無效字元。你可以指定下面是標記常量的組合,含義如下: MB_PRECOMPOSED:通常使用預作字元——就是說,由一個基本字元和一個非空字元組成的字元只有一個單一的字元值。這是預
select 下拉列表內容按拼音排序
今天客戶提出一個需求:就是讓下拉框的內容按拼音排序,本人就從網上找了一個例子,也已經驗證通過,故分享一下! 首先在網上下載一個:pinyin4j-2.5.0.jar的jar包, 然後新建一個CompareNamePinyin類: package u
MYSQL中讓UTF-8編碼的欄位按拼音排序
原文地址:http://carvin.iteye.com/blog/810867 在mysql中使用預設字符集為utf8,結果想要把中文按拼音排序出現了問題,排出來的順序亂七八糟,不是我們想要的結果。 解決辦法如下: 1、不想改變表定義及預設編碼的
將包含中文的數組按拼音首字母排序
color 拼音首字母排序 包含 utf-8 排序 pan col sort nbsp foreach ($array as $key=>$value) { $new_array[$key] = iconv(‘UTF-8‘, ‘GBK‘
通訊錄 按中文名字 拼音首字母 排序
function address_book(url, id, src, name) {// 引數說明 --> (資料介面, 人員id欄位名 ,圖片地址欄位名,名字欄位名) var name_list = ''; var letter_reg = /^[A-Z]$/; // 大寫字母
中文姓名按照拼音排序-python
寫在前面 在做文件排版的時候經常會遇到姓名的排序問題,當人名很多的時候,我們是不可能人工的一個一個比較排序,那麼有什麼辦法快速解決這一問題嗎?答案可定是有,今天為大家介紹一種。 程式 from x
Android 聯絡人按中文拼音排序
//查詢所有資料按聯絡人姓名升序排序的方法 public List<Account> queryAll() { SQLiteDatabase db = helper.getReadableDatabase(); Cursor c = db.query(
mysql 中文欄位排序( 按拼音首字母排序) 的查詢語句
在處理使用Mysql時,資料表採用utf8字符集,使用中發現中文不能直接按照拼音排序 如果資料表tbl的某欄位name的字元編碼是latin1_swedish_ci select * from `tbl` order by birary(name) asc ; 如果資
Python - 字典按值(value)排序
key list odi script dcl nes spl ava port 字典安值排序是一個偽命題. 字典本身是不能被排序的, 已經依照關鍵字(key)排序, 可是列表(list)和元組(tuple)能夠排序, 所以字典須要轉換列表後排序.
MySQL實現中文拼音排序
例如 assets mysql edas 進行 解決 fix sel from MySQL下新建一個表,默認采用utf8字符集,中文不能直接按照拼音進行排序。 例如以下語句: SELECT * FROM `tb_fixedassets` order by C_FANAME
python筆記17-字典如何按value排序
odi pytho tca Coding count 簡單 body ted nbsp 前言 面試題:如何統計數組中出現次數最多的數據,按出現次數由大到小排序這個排序看似簡單,涉及到的基礎知識點還是很多的,真正寫起來並不容易 備註:本篇是以python3.6講解的,py
[Python筆記]字典按key排序和按value排序的方法
#按Key排序(字母順序) #新建一個字典{手機品牌,價格} phone={'Meizu':2698,'Apple':7299,'Xiaomi':2400,'Samsung':6000} [(key,phone[key]) for key in sorted(phone)] #方法1
漢字首字母拼音排序-Python
安裝pypinyin,目的是將中文轉換成拼音 pip install pypinyin 利用sort()函式進行排序 from pypinyin import lazy_pinyin chinese_list=[u'中國人', u'啊', u'
javascript 實現中文按照拼音首字母排序
js提供了sort()方法來對陣列內的資料進行排序,但是隻是對英文有作用,這個時候需要自定義排序的規則 ['張三','李四','王五'].sort((a, b) => a.localeCompare(b, 'zh-Hans-CN', {sensitivity: 'accent'})) 輸出 ['李
js中文按首字母排序
var array = ['武漢', '北京', '上海', '天津','','am','pam','1213','123']; var resultArray = array.sort( function compareFunction(param1, param2) {
[轉載] python的sorted函式,對字典按key排序和按value排序
先來基本介紹一下sorted函式,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse這三個引數。 其中iterable表示可以迭代的物件,例如可以是 dict.items()、dict.keys()等,key是一個函式,用