我有一个非常大的列表,其中包含超过 100M 的字符串。该列表的示例如下所示:
l = ['1,1,5.8067',
'1,2,4.9700',
'2,2,3.9623',
'2,3,1.9438',
'2,7,1.0645',
'3,3,8.9331',
'3,5,2.6772',
'3,7,3.8107',
'3,9,7.1008']
我想获得以“3”开头的第一个字符串。
为此,我使用了一个 lambda 迭代器,然后使用 next() 来获取第一项:
next(filter(lambda i: i.startswith('3,'), l))
Out[1]: '3,3,8.9331'
考虑到列表的大小,不幸的是,对于我必须一遍又一遍地执行的过程,此策略仍然需要相对较长的时间。我想知道是否有人可以想出一种更快、更有效的方法。我对替代策略持开放态度。
九州编程
HUX布斯
相关分类