从标签列表中获取商品x(在DATA中)的标签的快速方法

我有n个列表的列表数据,还有n个元素的另一个列表标签,对应于DATA中元素的标签。从DATA获取某些元素x的标签的最快方法是什么?def getLabel(x): ...


比做一个更快的方法: LABELS[ DATA.index(x) ]


DATA = [ [2,5,8], [2,4,3], [5,5,7], [9,8,4] ]

LABELS = [ "AAA", "BBB", "AAA", "CCC" ]


print getLabel( [5,5,7] ); # will prints "AAA"


PIPIONE
浏览 139回答 1
1回答

蛊毒传说

在此处使用dict,将from中的项DATA作为键,并将from中的对应项LABELS作为值。字典提供O(1)查找功能,而在列表中搜索则是O(N)操作。>>> DATA = [ [2,5,8], [2,4,3], [5,5,7], [9,8,4] ]>>> LABELS = [ "AAA", "BBB", "AAA", "CCC" ]>>> get_labels = {tuple(x):y for x,y in zip(DATA,LABELS)} >>> get_labels[5,5,7]'AAA'>>> get_labels[9,8,4]'CCC'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python