Python3 - filter out negative numbers in a random list

Python3 - filter out negative numbers in a random list

The picture is above and the code snippet is below 

# 过滤掉随机列表中的负数
# 示例[3, 9,-1, 10, 20,-2...]

import time
from random import randint

def way_1(arr):
    # 方法1 使用列表表达式 常用方法
    start_time = time.time()
    time.sleep(0.1) # 时间太短会显示 0.0 所以有个0.1延时
    arr_positive_num = [i for i in arr if i >= 0]

    end_time = time.time()
    print('方法1',arr,'筛选后:',arr_positive_num)
    print('耗时:',end_time - start_time,'\n') # \n 换行)

def way_2(arr):
    '''函数说明
    @ 方法2 使用filter 作为学习了解 平时工作中并不常见'
    @ filter()函数用于过滤序列,过滤掉不符合条件的元素,返回符合条件的元素组成新列表 经常会与 list lambda 结合使用
    @ 使用 lambda 创建一个小的匿名函数
    '''

    start_time = time.time()
    time.sleep(0.1) # 时间太短会显示 0.0 所以有个0.1延时
    arr_positive_num = list(filter(lambda x: x >= 0,arr))

    end_time = time.time()
    print('方法1',arr,'筛选后:',arr_positive_num)
    print('耗时:',end_time - start_time,'\n') # \n 换行)

if __name__ == '__main__':
    print('main')
    # 创建随机列表 randint()方法返回作为两个参数提供的两个较低和较高限制(包括两个限制)之间的随机整数值
    arr = [randint(-100,100) for i in range(10)]
    way_1(arr)
    way_2(arr)

'''Python
拓展文档

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>
函数 filter(function,iterable)
    @ function -- 判断函数
    @ iterable -- 可迭代对象

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 列表表达式 等同于下面的代码
arr = [randint(-100,100) for i in range(10)]

# 常规写法 结果同上述列表表达式
arr = []
for i in range(10):
    arr.append(randint(-100,100))

# >>>>>>>>>>>>>>>>>>>>>>>>>>>>    
# 列表表达式 等同于下面的代码
arr_positive_num = [i for i in arr if i >= 0] # 列表表达式 等同于下面的代码

# 常规写法 结果同上述列表表达式
arr_positive_num = []
for i in arr:
    if i >= 0:
        arr_positive_num.append(i)
'''

Guess you like

Origin blog.csdn.net/STR_Liang/article/details/126910993