簡體   English   中英

Python相當於ruby的`map.with_index`?

[英]Python equivalent of ruby's `map.with_index`?

我試圖在python中重新創建一些我的ruby代碼(不能等到lambda支持ruby !!),而且我正在運行一個問題,在數組上返回過濾結果的指標(我想我在說這是正確的)。 這是一些示例代碼:

array = [200,100,150,500,25,650,175]
res = filter(lambda x: x < 200, array)
print res
[100, 150, 25, 175]

但是我真的需要它來返回與過濾器匹配的每個元素的索引並得到:

[1,2,4,6]

有沒有一種簡單的方法在python中執行此操作? 我打算嘗試numpy,但是easyinstall在嘗試安裝時變得瘋狂。

使用enumerate產生包含具有原始值的索引的元組:

>>> enumerate(array)
<enumerate object at 0x7f4ad46d0190>
>>> list(enumerate(array))
[(0, 200), (1, 100), (2, 150), (3, 500), (4, 25), (5, 650), (6, 175)]

結合列表理解

>>> array = [200,100,150,500,25,650,175]
>>> [i for i, x in enumerate(array) if x < 200]
[1, 2, 4, 6]

[i for i,x in enumerate(array) if x < 200]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM