私は1つのリストPythonですべての負の数をゼロに変更するにはどうすればよいですか?
list1 = [-10,1,2,3,9,-1]
を持っている私は
list1 = [0,1,2,3,9,0]
は、どのように私はそれを行うことができますようにそれが見えるようにゼロに負の数を変更したいですか?ありがとう!
私は1つのリストPythonですべての負の数をゼロに変更するにはどうすればよいですか?
list1 = [-10,1,2,3,9,-1]
を持っている私は
list1 = [0,1,2,3,9,0]
は、どのように私はそれを行うことができますようにそれが見えるようにゼロに負の数を変更したいですか?ありがとう!
あなたは内包表記を使用することができます。
list2 = [0 if i < 0 else i for i in list1]
または
list2 = [(i > 0) * i for i in list1]
注第二の変形のみTrue == 1
とFalse == 0
以来のPython 3で動作していること。 はがPython 2で動作するはずですが、保証はありません。
反復リストを通って、それが0の変化、それは
def do_the_thing(old_list):
new_list = []
for num in old_list:
if num < 0:
new_list.append(0)
else:
new_list.append(num)
return new_list
あなたが代わりmap
機能この1つはnumpyのとは何の関係もありません
map(lambda x: max(x,0),list1)
@Ageonixを使用することができ、かつそれが少ないということだ場合配列ではありません。 – Selcuk
Ok ...あなたの選択を取る。私はこの質問を見つけ、文字通りこの質問に対する答えの完全なページを思い付いた。これを使用してください:http://stackoverflow.com/questions/19720445/convert-array-of-negative-value-to-positive-value – Ageonix
@Ageonix私は彼らが非常に似ていることに同意しますが、複製は複製でなければなりません。それは非常によく似ていますが、重複しているわけではありません。 – Selcuk