def count_digit(num):
if (num//10 == 0):
return 1
else:
return 1 count_digit(num // 10)
我有一個名為 - filter_stats 的串列,它看起來像:
filter_stats= [1,2,24,2,353,4534,6,65,6457,6,8,58,58,744, and so on]
我想在上面的代碼中傳遞這個串列。我怎么做?
當我這樣做時
count_digit(filter_stats)
它顯示: // 不支持的運算元型別:'filter' 和 'int'
uj5u.com熱心網友回復:
您可以使用 for 回圈:
results = []
for num in filter_stats:
results.append(count_digit(num))
串列理解也是一種選擇:
results = [count_digit(num) for num in filter_stats]
最后,map如果您喜歡函式式方法,也可以使用:
results = list(map(count_digit, filter_stats))
uj5u.com熱心網友回復:
您正在將串列傳遞給 count_digit 函式。因此,當您將串列除以“// 10”時,會產生錯誤。要查看數字的長度,您可以使用 len() 函式,例如 len(str(123))。
因此,在您的代碼中,您必須傳入串列項:例如:count_digit(filter_stats[4]) => 然后它就可以作業了!
您可以像這樣簡化函式:
def count_digit(num):
return len(str(num))
然后呼叫函式:
count_digit(filter_stats[4])
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/375599.html
下一篇:如何連接字串拆分中的元素?
