返回所有符合條件的下標,自然想到的是用列表解析(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...