我有一个包含元素的巨大表数据(或记录数组):
tbdata[i]['a'], tbdata[i]['b'], tbdata[i]['c']
它们都是整数,并且i
是 0 到 100 万(表的大小)之间的随机数。
我还有一个名为的列表Name
,其元素是文件的所有名称(总共 900 个名称),例如'/Users/Desktop/Data/spe-3588-55184-0228.jpg'
(修改的),都包含三个数字。
现在我想从我tbdata
的上面提到的元素中选择那些与 list 名称中的三个数字匹配的数据Name
。这是我最初编写的代码:
Data = []
for k in range(0, len(tbdata)):
for i in range(0, len(NameA5)):
if Name[i][43:47] == str(tbdata[k]['a']) and\
Name[i][48:53] == str(tbdata[k]['b']) and\
Name[i][55:58] == str(tbdata[k]['c']):
Data.append(tbdata[k])
Python 跑了一夜,仍然没有完成,因为要么数据量很大,要么我的算法太慢......我想知道完成这样一项任务的最快方法是什么?谢谢!