0

このコードを実行すると何が起こっているのか、また同じタスクを達成するためのより良い方法があるかどうか疑問に思っています。並べ替えを実行するためにリストのリストがメモリ内に作成され、次に bar が foo.values() の反復子として割り当てられますか? それとも、割り当てられた辞書メモリ空間で foo.values() がソートされている可能性がありますか?

リストの最初の値である整数が、ファイルの行番号を参照していると想像してください。ファイルを開き、foo.values() リストで参照されている行のみをリスト内の残りのデータで更新したい (EG 1 行目を文字列 '123' と '097' で更新する)。

from itertools import imap

>>> foo = {'2134':[1, '123', '097'], '6543543':[3, '1'], '12315':[2, '454']}
>>> bar = imap([].sort(), foo.values())

ありがとう〜

4

1 に答える 1