私は次のコードを試しましたが、それは私にerror.Howを与えていますこの問題を解決する必要がありますか?いいえ。リストの各要素の数字のうち
import math
mylist=[3,4,12,34]
digits = int(math.log10(mylist))+1
Traceback (most recent call last):
File "prog.py", line 3, in <module>
TypeError: a float is required
私は次のコードを試しましたが、それは私にerror.Howを与えていますこの問題を解決する必要がありますか?いいえ。リストの各要素の数字のうち
import math
mylist=[3,4,12,34]
digits = int(math.log10(mylist))+1
Traceback (most recent call last):
File "prog.py", line 3, in <module>
TypeError: a float is required
あなたはlog10()
関数にリストを渡している、そしてそれはフロートを受け入れながら、それはです。あなたは、リスト内のすべての項目のログを計算するために、リストの内包表記を使用することができます。
>>> digits = [int(math.log10(i)) + 1 for i in mylist]
>>> digits
[1, 1, 2, 2]
これはmy_list
内の各要素の桁数を含むリストを返します。
from math import log10
my_list = [3, 4, 12, 34]
digits = [int(log10(n) + 1) for n in my_list]
ここで働い例です:
import math
def f(x):
return int(math.log10(x)) + 1
mylist = [3, 4, 12, 34]
digits = []
for x in mylist:
fx = f(x)
print("f({0})={1}".format(x, fx))
digits.append(fx)
'マップ(ラムダV:int型(math.log10(V))+ 1、mylistという)' – ewcz