简单的小练习,实现将一个指定列表中的数值进行转化,对于其中的非负数不作处理,对于负数需要转化为制定的数值,很简单就不多说了,下面是具体的实现:

#!usr/bin/env python
#encoding:utf-8
from __future__ import division

'''
__Author__:沂水寒城
功能:Python实现列表中非负数保留,负数转化为指定的数值
   
'''


def handle_list_negative_nums(data_list,specificvalue=0):
    '''
    处理列表中的负数,转化为指定的数值
    '''
    res_list=[]
    for one in data_list:
        if one>=0:
            res_list.append(one)
        else:
            res_list.append(specificvalue)
    print 'res_list is:',res_list
    res_list2=map(lambda one: one if one>=0 else specificvalue,data_list)
    print 'res_list2 is:',res_list2


if __name__ == '__main__':
    data_list=[1.2,4,5,-9,-0.4,-34,2,3,4,0]
    handle_list_negative_nums(data_list,specificvalue=0)
    handle_list_negative_nums(data_list,specificvalue=9)

 结果如下:

 

res_list is: [1.2, 4, 5, 0, 0, 0, 2, 3, 4, 0]
res_list2 is: [1.2, 4, 5, 0, 0, 0, 2, 3, 4, 0]
res_list is: [1.2, 4, 5, 9, 9, 9, 2, 3, 4, 0]
res_list2 is: [1.2, 4, 5, 9, 9, 9, 2, 3, 4, 0]

       根据不同的需要也可以做相应的修改会有不同的适用场景。 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐