[英]Remove similar numbers in a list
如何从以下列表中删除 86.1 和 90.1(或 86.2 和 90.2)之类的数字?
86.1 86.2 90.1 90.2
定义一个阈值,迭代排序的数字并将阈值内的数字相加:
numbers = [86.1, 86.2, 90.1,90.2]
threshold = 1
numbers = iter(numbers)
amount = last = next(numbers)
count = 1
result = []
for number in sorted(numbers):
if number - last > threshold:
result.append(amount/count)
amount = count = 0
amount += number
count += 1
last = number
结果.附加(数量/计数)
尝试这个:
base = [86.1, 86.2, 90.1, 90.2]
# remove = [86.2, 90.2]
remove = [86.1, 90.1]
new_list = [item for item in base if item not in remove]
print(new_list)
在 Stack Overflow 帖子中从 Python 列表中删除列表,您有更多信息。
inputList=[86.1, 86.2, 90.1, 90.2]
tolerance=1.0
out=[]
for num in inputList:
if all([abs(num-outAlready)>tolerance for outAlready in out]):
out.append(num)
print out
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.