我有一个清单
List = [('The', 'DT'), ('study', 'NN'), ('guide', 'NN'), ('does', 'VBZ'), ('not', 'RB'), ('discuss', 'VB'), ('much', 'JJ'), ('of', 'IN'), ('the', 'DT'), ('basics', 'NNS'), ('of', 'IN'), ('ethics.', 'NN')]
我使用
将其转换为字典dic=collections.OrderedDict()
dic=dict(List)
当我打印字典时,订单不会按照它在列表中的方式进行维护。
我尝试使用OrderedDict()但仍未维护订单
答案 0 :(得分:4)
只需将直接列表转换为dic = collections.OrderedDict(List)
:
OrderedDict
词典本身就是无序。如果您希望有一些相似的订单,则需要才能使用OrderedDict
。转换回字典基本上是失败的。
请注意,OrderedDict
与普通字典几乎具有相同的界面,而您在使用my_date = "February 4 - March 23, 2015"
ss = re.compile(r"[a-zA-Z]+\S|\d{4}")
print ss.findall(my_date)
时却没有任何损失。
答案 1 :(得分:1)
当你这样做时
dic=collections.OrderedDict()
dic=dict(List)
在第二行,您删除OrderedDict
并将其替换为dict
。
你应该collections.OrderedDict(List)
答案 2 :(得分:0)
执行dic = dict(List)
时,您正在创建一个普通(任意排序)字典。只需致电dic = collections.OrderedDict(List)