从列表或元组中明确选择项目

从列表或元组中明确选择项目,第1张

列表或元组中明确选择项目
list( myBigList[i] for i in [87, 342, 217, 998, 500] )

我将答案与python 2.5.2进行了比较:

  • 19.7微秒

    [ myBigList[i] for i in [87, 342, 217, 998, 500] ]

  • 20.6 USEC:

    map(myBigList.__getitem__, (87, 342, 217, 998, 500))

  • 22.7 USEC:

    itemgetter(87, 342, 217, 998, 500)(myBigList)

  • 24.6 USEC:

    list( myBigList[i] for i in [87, 342, 217, 998, 500] )

请注意,在Python 3中,第1个已更改为与第4个相同。


另一种选择是以a开头,

numpy.array
它允许通过列表或a进行索引
numpy.array

>>> import numpy>>> myBigList = numpy.array(range(1000))>>> myBigList[(87, 342, 217, 998, 500)]Traceback (most recent call last):  File "<stdin>", line 1, in <module>IndexError: invalid index>>> myBigList[[87, 342, 217, 998, 500]]array([ 87, 342, 217, 998, 500])>>> myBigList[numpy.array([87, 342, 217, 998, 500])]array([ 87, 342, 217, 998, 500])

tuple
不工作方式相同那些片。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5507801.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-13

发表评论

登录后才能评论

评论列表(0条)

    保存