php python sort
php的数组类似于python的字典和list的组合,但我觉得奇怪的是,当php数组做字典来用时,居然可以排序,而且可以按值或者按key来排序都可以,分别用sort和ksort,比如
a = array("one"=>1, "two"=>2, "three"=>3);
sort(a);
ksort(a);
这从python的角度来说很难理解,因为字典的key应该是使用hash来访问的,不支持排序的(即使key是int也不行),只能转换为list之后排序:
甚至有一篇专门的PEP解释这个: http://www.python.org/dev/peps/pep-0265/
而php的数组是怎么访问的呢,也许是链接+hash(下标访问时用hash,遍历时用链表),这样排序就相当于重排链表。
a = array("one"=>1, "two"=>2, "three"=>3);
sort(a);
ksort(a);
这从python的角度来说很难理解,因为字典的key应该是使用hash来访问的,不支持排序的(即使key是int也不行),只能转换为list之后排序:
甚至有一篇专门的PEP解释这个: http://www.python.org/dev/peps/pep-0265/
而php的数组是怎么访问的呢,也许是链接+hash(下标访问时用hash,遍历时用链表),这样排序就相当于重排链表。

0 Comments:
发表评论
<< Home