除算エラーを回避するために、以下のリストの 0 の値を 1 に置き換えるにはどうすればよいですか?
_list=[0,1,2,3]
n=[]
for x in _list:
if x ==0:
print 1
else:
div=2.0/x
n.append(div)
新しい値 (1) を分割に参加させたいと思います。助言がありますか?ありがとう。
除算エラーを回避するために、以下のリストの 0 の値を 1 に置き換えるにはどうすればよいですか?
_list=[0,1,2,3]
n=[]
for x in _list:
if x ==0:
print 1
else:
div=2.0/x
n.append(div)
新しい値 (1) を分割に参加させたいと思います。助言がありますか?ありがとう。
これはどう:
[x/2.0 if x else None for x in _list]
=> [None, 0.5, 1.0, 1.5]
上記のリスト内包表記は、分割が発生したNone
場所とともに、分割を含むリストを返し0/2
ます。またはこれ:
[x/2.0 for x in _list if x]
=> [0.5, 1.0, 1.5]
上記は、0/2
除算による値を回避します。問題に最も適したものを選択してください。
_list で 0 を 1 に置き換えるだけなら、if ステートメントを変更するだけです。if x == 0: print 1 の代わりに、次のものが必要です。
for x in _list:
if x ==0:
x == 1