javascript - 为什么 Python 和 node.js 对两个数组进行不同的排序,但单一元素在两种语言中的工作方式相同?
问题描述
您好,我有一个由 python 脚本和 pandas 排序的 CSV,我正在检查 node.js,但排序方法的工作方式不同:
数组如下:
> a
[ 1, 1, '7-Zip', 'IgorPavlov' ]
> b
[ 1, 1, '7-Zip ZS', 'Igor Pavlov, Tino Reichardt' ]
并且数组中每个元素的python和节点代码中的响应是相同的
节点.js
> a[0] <= b[0]
true
> a[1] <= b[1]
true
> a[2] <= b[2]
true
> a[3] <= b[3]
false
Python
>>> a[0] <= b[0]
True
>>> a[1] <= b[1]
True
>>> a[2] <= b[2]
True
>>> a[3] <= b[3]
False
但是数组排序的结果是不同的:
节点.js
> [a,b].sort()
[
[ 1, 1, '7-Zip ZS', 'Igor Pavlov, Tino Reichardt' ],
[ 1, 1, '7-Zip', 'IgorPavlov' ]
]
Python
sorted([a,b])
> [[1, 1, '7-Zip', 'IgorPavlov'], [1, 1, '7-Zip ZS', 'Igor Pavlov, Tino Reichardt']]
问题是为什么 node.js 或 python 有不同的行为,我该如何解决这个问题才能在两种语言中获得相同的结果,pandas 的方式是一样的。
谢谢。
解决方案
推荐阅读
- c# - 在 Visual Studio 中通过堆叠的 dll 进行调试
- sapui5 - 未从 JSON 模型加载的简单 OpenUI5 表
- javascript - php - 表格点击按钮,弹出显示详细信息
- c# - 统一调用精灵的 OnMouseDown() 中的子类方法
- javascript - Amazon DynamoDB DocumentClient().get() 使用函数外的值
- r - 结合 geom_points 和 geom_lines 将图例添加到多个 ggplots2
- mysql - 首先加载什么?主键还是外键?
- excel - 为什么我的 INDEX 公式不再起作用?
- c# - 查找项目列表中出现频率最高的组合
- python - Python在读取文件时忽略行