Wie entferne ich Nummern wie 86.1 und 90.1 (oder 86.2 und 90.2) aus der folgenden Liste?Ähnliche Nummern in einer Liste entfernen
86.1 86.2 90.1 90.2
Wie entferne ich Nummern wie 86.1 und 90.1 (oder 86.2 und 90.2) aus der folgenden Liste?Ähnliche Nummern in einer Liste entfernen
86.1 86.2 90.1 90.2
eine Schwelle definieren, über die sortierten Zahlen iterieren und die Zahlen innerhalb des Schwellen aufaddieren:
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
result.append (Menge/count)
Versuchen:
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)
Im Stapelüberlauf Post Remove list from list in Python Sie haben mehr Informationen.
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
Kann ich nicht verstehen, was Sie fragen? – Hackaholic
Definieren Sie einen Toleranzwert als 'tolerance = 3', teilen Sie nun jedes Element mit diesem Wert und multiplizieren Sie es mit dem gleichen. Verwenden Sie jetzt 'set', um die gewünschten Ergebnisse zu erhalten. – ZdaR
Wie definieren Sie ähnlich? Welche wird entfernt, wenn zwei ähnlich sind? – Jeon