ytp*_*lai -2 python sorting largenumber
如果在Python中有一个非常大的数字列表,那么编译器就无法将它们的值作为数字得到.是否有一个函数可以更有效地对此列表进行排序(同时将数字保持为整数),例如将数字与数字进行比较?(但不转换为字符串)
Python 2和Python 3都处理任意大的整数:
>>> [2**34, 2**38, 2**99, 2**122, 2]
[17179869184, 274877906944, 633825300114114700748351602688L, 5316911983139663491615228241121378304L, 2]
Run Code Online (Sandbox Code Playgroud)
并按预期排序:
>>> sorted(_)
[2, 17179869184, 274877906944, 633825300114114700748351602688L, 5316911983139663491615228241121378304L]
Run Code Online (Sandbox Code Playgroud)
(Python 2将显示L大于sys.maxint的整数,如此处的示例,而Python 3显示整数值对于较小或较大的整数相同)
| 归档时间: |
|
| 查看次数: |
1678 次 |
| 最近记录: |