[英]Find index in SortedCollection
>>> a = SortedCollection(key=itemgetter(1))
>>> a.insert_right(('A',5))
>>> a.insert_right(('B',3))
>>> a.insert_right(('C',7))
>>> a
SortedCollection([('B', 3), ('A', 5), ('C', 7)], key=<operator.itemgetter object at 0x028C99B0>)
使用'A'
查找項目索引的語法是什么?
請注意, 'A'
不是我選擇的排序鍵。
這是一個失敗的方法:
>>> a.find(lambda item: item[0]=='a')
Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
a.find(k=lambda item: item[0]=='a')
File "C:/dev/sorted_collection.py", line 167, in find
raise ValueError('No item found with key equal to: %r' % (k,))
ValueError: No item found with key equal to: <function <lambda> at 0x028DB270>
測試:
[x[0] for x in a].index('A')
SortedCollection
行為很像列表,所以它實際上與搜索的語法相同
[('B', 3), ('A', 5), ('C', 7)]
a = SortedCollection(key=itemgetter(1))
a.insert_right(('A',5))
a.insert_right(('B',3))
a.insert_right(('C',7))
print [y[0] for y in a].index('B')
結果:
0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.