Python 查詢返回所有下標

2021-09-24 05:24:50 字數 508 閱讀 5950

返回所有符合條件的下標,自然想到的是用列表解析(list comprehension),並在列表解析中增加乙個斷言(if pred,是否符合條件),那麼又該如何返回其下標呢,是使用 index() 成員函式嗎?

比如,我們要獲取列表中所有元素為 0 的下標:

>>> l = [0, 2, 0]

>>> [l.index(l) for i in l if l == 0]

輸出的結果為:

[0, 0]
因為 index() 成員得到 list **現的第乙個值就結束,所以對於上式,它每次返回的都是下標0;

解決方案:我們不應對 list 進行迭代,而是對下標進行迭代,然後返回符合條件的下標:

>>> [i for i in range(len(l)) if l[i] == 0]

[0, 2]

查詢元素下標

include include 書寫函式實現陣列元素的查詢,要求返回找到的元素下標 書寫函式實現氣泡排序並返回排序後的陣列 書寫函式要求使用者輸入密碼 6位,錯誤則重新輸入 返回並列印使用者輸入的正確密碼 書寫函式實現陣列元素的查詢,要求返回找到的元素下標 int search 書寫函式實現氣泡排序...

python 列表 返回 所有 元素 索引

在列表中使用index方法獲取的只是第乙個索引,比如想獲取列表中的字元 a lst a 1,4,2,a 3 lst.index a 0 如果想獲取所有 a 元素的索引列表,可以借助於下面的方法 def get index1 lst none,item tmp tag 0 for i in lst i...

python實現返回集合的所有子集

很簡單,不過想法特別好,在學習python的過程中看見了,於是就把他記錄下來。演算法是利用遞迴的思想來實現返回集合的所有子集 如果想要對子集長度進行限制,引數加個limit就行了 def allsubsets s if len s 0 return return allsubsets s 1 s 0...