如何在python中將所有負數更改為零? (How do I change all negative numbers to zero in python?)


問題描述

如何在python中將所有負數更改為零? (How do I change all negative numbers to zero in python?)

我有一個列表

    list1 = [‑10,1,2,3,9,‑1]

我想把負數改為零,這樣它看起來像

    list1 = [0,1,2,3,9,0]

我該怎麼做?謝謝!


參考解法

方法 1:

You can use comprehensions:

list2 = [0 if i < 0 else i for i in list1]

or

list2 = [(i > 0) * i for i in list1]

Note that the second variant only works with Python 3 since True == 1 and False == 0. It should work with Python 2 but there is no guarantee.

方法 2:

You can alternatively use the map function

map(lambda x: max(x,0),list1)

方法 3:

Iterate through the list and if it's less that 0 change it

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

方法 4:

Another option is to is numpy like this:

list2 = numpy.array(list1)
list2 = list2 * (list2 >= 0)

(by hassISCSelcukThirutimlyoyoavsnake)

參考文件

  1. How do I change all negative numbers to zero in python? (CC BY‑SA 2.5/3.0/4.0)

#Python #list






相關問題

如何從控制台中導入的文件中訪問變量的內容? (How do I access the contents of a variable from a file imported in a console?)

在 python 3.5 的輸入列表中添加美元符號、逗號和大括號 (Adding dollar signs, commas and curly brackets to input list in python 3.5)

為 KeyError 打印出奇怪的錯誤消息 (Strange error message printed out for KeyError)

django 1.9 中的 from django.views.generic.simple import direct_to_template 相當於什麼 (What is the equivalent of from django.views.generic.simple import direct_to_template in django 1.9)

查詢嵌入列表中的數組 (Querying for array in embedded list)

如何在 Python 中搜索子字符串是否在二進製文件中? (How to search if a substring is into a binary file in Python?)

為什麼要避免 while 循環? (Why avoid while loops?)

使用python的json模塊解析json請求 (Parse a json request using json module of python)

為什麼使用 py2app 模塊創建 mac 文件時出現錯誤? (Why i am getting Error when creating mac file using py2app module?)

當 python 線程在網絡調用(HTTPS)中並且發生上下文切換時會發生什麼? (What happens when the python thread is in network call(HTTPS) and the context switch happens?)

如何繪製一條帶斜率和一個點的線?Python (How to plot a line with slope and one point given? Python)

Pickle 找不到我不使用的模塊? (Pickle can't find module that I am not using?)







留言討論