2017年4月30日日曜日

【モーション記事じゃない】Python 辞書の作成時の登録順番を維持

あまぐりです。

最近作業中階層が非常に深かったり、
飛びまくってるところへ度々アクセスすることが多いんですね。

ので、エクスプローラーさんと行き来することが多いんですが、
案件変わるたびに入れ替えたりお気に入りフォルダやショートカットが
多大なことになってきて古いの消したりとかしてるんですが

普通にフォルダ名かぶってることがあったりするわけです
そうすると

ProjectA
ProjectA(2)

とかかってにつくわけですわお気に入り
お気に入りの方名前かえりゃいいけど
数が多くなってくると面倒くさい

ってことでMaya用ファイルブラウザが欲しかったからPysideで作って、
(Pysideで作ったのはmodelやViewの概念が使いやすかったのと、
あとウインドウのアイコン変えたかったから)
ブックマークも独自のを組んだわけですわ
csvから読み込んで辞書で

ここで問題が発生する

辞書は中の要素の順番は保証されない

保証されないんだって
だから取り出す時そのままitemを取り出すと順番が勝手に変わりやがる

やめれけろ

辞書内にlineread時のインデックス残しとくか・・・・?
とも思ったけどそれも違う

辞書内がややこしくなる

ってことで見つけたのが
from collections import OrderedDict
TestDict = OrderedDict()
あとは元々辞書宣言していたのを上みたいにしとけばいいだけ
これ辞書を作成したときの順番を維持するやつみたい

collectionsさんいつもお世話になってます
あんた本当優秀だな

import collections
TestDict = collections.OrderedDict()
from ~ が嫌いな人はこうだぜ

from collections import *
これは勘弁な

いいね

ファイルブラウザへの要望で一つ、
ブックマークの並び順を変えさせてほしいってのもきたけど、
これならなんとかなりそう。


コンテンツブラウザは重い・・・


0 件のコメント:

コメントを投稿

【モーション記事じゃない】Python 辞書の作成時の登録順番を維持

あまぐりです。 最近作業中階層が非常に深かったり、 飛びまくってるところへ度々アクセスすることが多いんですね。 ので、エクスプローラーさんと行き来することが多いんですが、 案件変わるたびに入れ替えたりお気に入りフォルダやショートカットが 多大なことになってきて古いの...