当我介绍新对时,它插入字典的开头。是否有可能在最后追加它?
答案 0 :(得分:13)
<强>更新强>
从Python 3.7开始,dictionaries remember the insertion order。只需添加一个新值,如果迭代字典,就可以确定它将“在最后”。
字典没有顺序,因此没有开头或结尾。显示顺序是任意的。
如果您需要订购,可以使用list
tuple
代替dict
:
In [1]: mylist = []
In [2]: mylist.append(('key', 'value'))
In [3]: mylist.insert(0, ('foo', 'bar'))
您以后可以轻松将其转换为dict
:
In [4]: dict(mylist)
Out[4]: {'foo': 'bar', 'key': 'value'}
或者,使用IamAlexAlright建议的collections.OrderedDict
。
答案 1 :(得分:5)
没有。检查集合模块中的OrderedDict。
答案 2 :(得分:5)
Python中的dict
不是&#34;有序&#34; - 在Python 2.7+中有collections.OrderedDict
,但除此之外 - 没有...... Python中字典的关键点是有效的键 - >查找值......你的顺序是&#39;根据哈希算法,重新看到它们是完全随意的......
答案 3 :(得分:0)
字典数据是有序收集 如果您将数据添加到字典使用此: 添加新的键值对
Dic.update( {'key' : 'value' } )
如果键是字符串,则可以直接添加而无需大括号
Dic.update( key= 'value' )