为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PIPIONE 2021-03-29 17:14:25
我有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"
查看完整描述

1 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

在此处使用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'


查看完整回答
反对 回复 2021-04-06
  • 1 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信