Bir OrderedDict nesnesi oluşturmaya çalışıyorum ancak bunu daha önce hiç yapmam, öğelerin hepsi karışık.Python OrderedDict öğesi siparişi tutmuyor
od
OrderedDict([((0, 1), [1, 9]), ((0, 0), [2]), ((0, 2), [1, 5, 9])])
docs.python.org bir örnek var ve can vermez' unsurlar sırayla kalmaz
from collections import OrderedDict
od = OrderedDict({(0,0):[2],(0,1):[1,9],(0,2):[1,5,9]})
Ben atamak:
Bu
benim yaptığım Siparişin neden karışıklaştığını anlamaya çalışıyorum. Herhangi bir yardım büyük beğeni topluyor.
Ayrıca, notu/değerleri yapıcıya iletmek, siparişi vermek için yeterli değildir. '>>> koleksiyonlardan içe aktarılan OrderedDict ' ' >>> OrderedDict (bir = 1, iki = 2, üç = 3, dört = 4) ' ' OrderedDict ([(' dört ', 4), (' bir ', 1), (' üç ', 3), (' iki ', 2)]) ' –
@EricSmith Aynı sebepten dolayı - Python'daki değişken anahtar kelime arşivi (' ** kwargs') sözlük olarak saklanır. - bu olduğunda, sipariş eskisi gibi kaybolur. [PEP-468] 'in (http://legacy.python.org/dev/peps/pep-0468/) bunun için basit bir çözümü olduğunu unutmayın - henüz bir özellik değil, 'kwargs' için' OrderedDict' kullanın. belki birgün. –
@GarethLatty şu anda [python 3.6] (https://docs.python.org/3/whatsnew/3.6.html#pep-468-preserving-keyword-argument-order) PEP-468'i uyguladılar – Copperfield