我知道字典是一种无序数据类型,但可以使用该sorted()函数按字母顺序排序。但是,我想知道是否绝对不可能根据字典的键在文件中的出现对它们进行排序。例如,我想从 txt 文件中提取水果名称并将它们映射到行号和时间戳。生成的字典如下所示:
mydict = {
'orange': [['1', '00:00:03,950'], # 'fruit': [['line number', 'timestamp']]
['9', '00:00:24,030'],
['11', '00:00:29,640']],
'cherry': [['20', '00:00:54,449']],
'apple': [['14', '00:00:38,629']],
'banana': [['2', '00:00:06,840'],
['3', '00:00:09,180'],
['4', '00:00:10,830']],
}
现在,我想根据键在文件中的出现对它们进行排序,即按它们作为值的第一个列表项的行号升序。
所以期望的输出是:
{'orange': [['1', '00:00:03,950'],
['9', '00:00:24,030'],
['11', '00:00:29,640']],
'banana': [['2', '00:00:06,840'], # changed
['3', '00:00:09,180'],
['4', '00:00:10,830']]}
'apple': [['14', '00:00:38,629']],
'cherry': [['20', '00:00:54,449']]} # changed
如果您认为这是一个愚蠢的问题,因为由于字典的无序性质,这是不可能的,您可以对此发表评论,然后我将删除这个问题。不过,我很感谢您的帮助和澄清。
临摹微笑
相关分类