我的任務是計算小于給定數字的數字。對于大多數情況,我理解這一點,除了有重復的情況。因此,例如一個串列 [1,2,2,3,4] 我希望它的輸出計數為 2,因為它不包括中間的
我嘗試過這個目標的一種方法是數字是給定的數字來找到小于
count=0
for i in list:
if i< target:
count=count 1
return count
我知道如果我放=它會同時計算兩個我如何用我現在擁有的東西來解決這個問題,它仍然是一個串列
uj5u.com熱心網友回復:
我會首先洗掉這樣的重復項:
res = []
[res.append(x) for x in list if x not in res]
然后您可以使用該len函式獲取串列中不重復的值的數量:len(res)或檢查每個值以確保它在計數之前符合標準,例如小于一個數字:
count = 0
for i in res:
if i < target: count = 1
return count
盡管創建一個既不重復又符合標準的數字串列可能會更快,然后只取該串列的長度:
res = []
[res.append(x) for x in list if x not in res and x < target]
return len(res)
uj5u.com熱心網友回復:
將所有串列項放入 a 中set,然后計算小于 的元素個數target:
>>> a_list = [1, 2, 2, 3, 4]
>>> target = 3
>>> sum(i < target for i in set(a_list))
2
uj5u.com熱心網友回復:
您可以將串列更改為一組。也就是說,回圈遍歷一組串列。這樣,您將遍歷每個獨特的元素一次。請看下面的代碼:
count = 0
for element in set(list):
if element < target:
count = 1
print(count)
uj5u.com熱心網友回復:
您可以簡單地使用串列推導:
target = 3 # can be any other number
len([x for x in set(myList) if x < target])
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/445494.html
標籤:Python
