我想知道当我执行此代码时发生了什么,以及是否有更好的方法来完成相同的任务.是否在内存中创建列表以执行排序,然后将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())
Run Code Online (Sandbox Code Playgroud)
谢谢〜