LinkedHashMap是具有可预测迭代顺序的Hashtable数据结构(Python中的dict)的Java实现。这意味着在遍历所有键的过程中,它们是通过插入来排序的。这是通过维护插入顺序的附加链表来完成的。
是否有与Python相同的内容?
答案 0 :(得分:14)
如果您使用的是Python 2.7或Python> = 3.1,则可以在标准库中使用collections.OrderedDict。
问题This answer的How do you retrieve items from a dictionary in the order that they’re inserted?包含有序字典的实现,如果您不使用Python 3.x并且不想让自己依赖第三方ordereddict module
答案 1 :(得分:11)
虽然您可以通过维护列表来跟踪广告订单顺序来做同样的事情,但Python 2.7和Python >=3.1在集合模块中有一个OrderedDict类。
在2.7之前,您可以继承dict
following this recipe。
答案 2 :(得分:2)
我不确定这是否是你要求的:
>>> dic = {1: 'one', 2: 'two'}
>>> for k, v in dic.iteritems():
... print k, v
您可以使用ordereddict模块按插入顺序订购dic。
d = ordereddict(dic, relax=True)
答案 3 :(得分:1)
我不这么认为;你必须使用一个字典和一个列表。但是你可以很容易地将它包装在一个类中,并定义keys
,__getitem__
,__setitem__
等,使其按照你想要的方式工作。
答案 4 :(得分:0)