Python3-过滤掉随机列表中的负数
图片在上 代码段在下
# 过滤掉随机列表中的负数
# 示例[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)
'''