问题描述
我了解哈希表文档不保证插入或比较顺序。但是,我是否有可能在工作流程的每次迭代中获得相同的顺序。
背景信息 我已经用 Java 编写了很多代码,无论顺序如何,我都可以接受,但是为了测试目的,我希望每次运行时顺序都保持一致。
例如
import pandas as pd
df1 = pd.DataFrame.from_dict({'A': {0: 1,1: 2,2: 3,3: 4},'B': {0: 5,1: 6,2: 7,3: 8},'C': {0: 9,1: 8,3: 6}})
df2 = pd.DataFrame.from_dict({'D': {0: 1,'E': {0: 5,'F': {0: 9,3: 6}})
df1.merge(df2[['D','E']],on=df1.index)
解决方法
Hashtable 已过时,您可以使用 HashMap。
对于这个特定问题,LinkedHashMap
保证了插入顺序的遍历。 TreeMap
保证在提供的基于比较的排序中遍历(例如,如果您按该顺序添加键 1、5、2、9 和 3,它会以 1、2、3、5、9 返回.