我想知道执行此代码时会发生什么,以及是否有更好的方法来完成相同的任务。是否在内存中生成列表以执行排序,然后将 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())
谢谢~