私は配列を持っている:x = [ [1, 2], 1, 1, [2, 1, [1, 2]] ]
いる私は数1
のすべての発生をカウントし、変数one_counter
にその番号を保存したいです。 x.count(1)
は、1
の2回だけを返します。これは不十分です。
下のコードは5
にありますが、one_counter
に保存されていますが、目立たず、私には気に入らないと感じています。
どのように私はpythonicityを改善し、より多くの次元のリストにそれを拡大することができますか?
ありがとうございます!簡潔パイソン - 混合配列内の値の各発生を見つける(整数、リスト)
def flatten_count(iterable, element):
count = 0
for item in iterable:
if item == element:
count += 1
if isinstance(item, list):
count += flatten_count(item, element)
return count
以上:
>>> x = [[1, 2], 1, 1, [2, 1, [1, 2]]]
>>> print(flatten_count(x, 1))
5
スケールはこれと何が関係していますか? –
@ IgnacioVazquez-Abrams私は彼がScaleという言葉を使いすぎたと思う。 – DhruvPathak
@DhruvPathakはい、サー!私はスケールのためにそれを誤解しました。 –