>>> list_a = [1, 2, 3, 4, 5]
>>> list_b = [3]
>>> list_c = list(set(list_a)-set(list_b))
>>> list_c
[1, 2, 4, 5]
For 循环遍历列表 a,判断是否在列表 b 中:
>>> list_a = [1, 2, 3, 4, 5]
>>> list_b = [3]
>>> list_c = [i for i in list_a if i not in list_b]
>>> list_c
[1, 2, 4, 5]
对于 Python 中的列表减法问题,我们有两个解决方案。很明显方案 1 要比方案 2 要简单,但当处理大列表的时候,两者的速度如何?我们写代码做一个简单的实验来看一下。
import random
import time
def test(num):
list_a = list(range(num))
list_b = random.choices(list_a, k=int(num*0.001))
def test_solution_1():
t1 = time.time()
list_c = list(set(list_a)-set(list_b))
t2 = time.time()
print(round(t2-t1, 2))
def test_solution_2():
t1 = time.time()
list_c = [i for i in list_a if i not in list_b]
t2 = time.time()
print(round(t2-t1, 2))
test_solution_1()
test_solution_2()
if __name__ == '__main__':
test(int(1e6))
列表 a 中有 100 万个元素,从中随机抽取 0.001 个百分比作为列表 b 中的元素,然后分别使用以上两种解决方案,计算时间。方案 1 用了 0.05 秒,方案 2 用了 14.47 秒,想必以后采用何种方案大家心里都应该清楚了。
https://www.cnblogs.com/python-selenium/p/3909175.html
v1 = [21, 34, 45]
v2 = [55, 25, 77]
#v = v2 - v1 # Error: TypeError: unsupported operand type(s) for -: 'list' and 'list'
v = list(map(lambda x: x[0]-x[1], zip(v2, v1)))
print("%s\n%s\n%s" %(v1, v2, v))
运行结果:
一个是list1,list1 = [1, 2, 3, 4, 5]
一个是list2,list2 = [1, 4, 5]
我们如何得到一个新的list,list3,
list3中包括所有不在list2中出现的list1中的元素。
即:list3 = list1 – list2
解决方案:我们可以用set(集合)操作
list3 = list(set(list1) – set(list2))
滑动平均滤波法:将连续取 n 个采样值看成一个队列(先进先出);每次先计算队列中 n 个数据的算术平均值,然后将新数据插入队尾,并移除原来的队首数据;直至没有新数据。这样,就得到了滤波结果。下面,我们尝试在 Python 中使用尽可能高的速度完成滑动平均值的计算。我们使用 numpy 构造一个长度为 10000 的随机数组作为测试数据;
问题描述:假设我有这样两个list,一个是list1,list1 = [1, 2, 3, 4, 5]一个是list2,list2 = [1, 4, 5]我们如何得到一个新的list,list3,list3中包括所有不在list2中出现的list1中的元素。即:list3 = list1 - list2解决方案:我们可以用set(集合)操作list3 = list(set(list1) - set(...
本文实例讲述了Python实现两个list对应元素相减操作。,具体如下:两个list的对应元素操作,这里以相减为例:# coding=gbkv1 = [21, 34, 45]v2 = [55, 25, 77]#v = v2 - v1 # Error: TypeError: unsupported operand type(s) for -: 'list' and 'list'v = li...
list3 = [item for item in list1 if item not in set(list2)]
print(list3) # [2, 6]
print(set(list1) - set(list2)) # {2, 6}
Traceback (most recent call last):
File "<ipython-input-12-aae42d317509>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'list' and 'list'