[PYTHON] Sortieren mit einer Mischung aus Zahlen und Buchstaben

import numpy as np
import re

def isd(N):
    return bool(re.compile("^[-+]?([0-9]+(\.[0-9]*)?|\.[0-9]+)([eE][-+]?[0-9]+)?$").match(N))

def sort(A):
	B=list(np.copy(A))
	B.sort(key = lambda x: float(x) if isd(x) else x)
	return B

def argsort(A):
	B=list(np.copy(A))
	B=sort(B)
	return [B.index(i) for i in A]

###
A=['0', '1', '10', 'c0', '12', '13', '34','-3.', '1e+2','16', 'c1','test', 'b0', '3','0.1','1.2','1e-3']
print A
print sort(A)
print argsort(A)

Ausgabeergebnis

['0', '1', '10', 'c0', '12', '13', '34', '-3.', '1e+2', '16', 'c1', 'test', 'b0', '3', '0.1', '1.2', '1e-3']
['-3.', '0', '1e-3', '0.1', '1', '1.2', '3', '10', '12', '13', '16', '34', '1e+2', 'b0', 'c0', 'c1', 'test']
[1, 4, 7, 14, 8, 9, 11, 0, 12, 10, 15, 16, 13, 6, 3, 5, 2]

Recommended Posts

Sortieren mit einer Mischung aus Zahlen und Buchstaben
Unterscheiden Sie zwischen Zahlen und Buchstaben mit regulären Ausdrücken
Skript zum Twittern mit Vielfachen von 3 und Zahlen mit 3 !!
Ten Puzzle-Make 10 mit nur 4 Zahlen und 4 Regeln
Primzahlen und Brüche
Generieren Sie Fibonacci-Zahlen mit Python-Closures, Iteratoren und Generatoren
Konvertiert Zahlen mit Kommas und Dreiecken in numerische Typen.
Mit und ohne WSGI
Zeigen Sie Zahlen und Zeichen an, die Variablen im Python-Druck zugewiesen sind
Programmieren mit Python und Tkinter
Ver- und Entschlüsselung mit Python
Gemischte Gaußsche Verteilung und logsumexp
Arbeiten Sie mit tkinter und Maus
Python und Hardware-Verwenden von RS232C mit Python-
Beurteilung von Primzahlen mit Python
Sortieren von Bilddateien mit Python (2)
Sortieren von Bilddateien mit Python (3)
Bilddateien mit Python sortieren
Zahlen mit regulären Ausdrücken extrahieren
Super Auflösung mit SRGAN und ESRGAN
Group_by mit sqlalchemy und sum
Python mit Pyenv und Venv
Mit mir, NER und Flair
Funktioniert mit Python und R.