Ich habe eine Lookup-Tabelle, wo A = 10 und Z = 35 (B = 11, C = 12 und so weiter), was ist der einfachste Weg, dies in Python zu erreichen? Ich weiß, dass es eine sehr einfache Möglichkeit geben muss, es einfach nicht finden zu können.Python Lookup-Tabelle
Antwort
Sie brauchen keine Look-up-Tabelle - der Ausdruck
chr(c) - 54
(mit c
mit dem Großbuchstaben) wird den Trick machen.
Ich würde 'chr (c) -chr ('A') + 10 'bevorzugen. –
@MatteoItalia: Ich auch, aber als ich es gerade bearbeiten wollte, hatte Mark es schon gepostet. :) –
endete mit so etwas wie dieses Beispiel. Vielen Dank! – ouldsmobile
Für eine Lookup-Tabelle Sie ein dict
verwenden:
d = { 'A' : 10, 'Z' : 35 } # etc..
jedoch in diesem Fall benutzen Sie könnten es scheint, dass es eine einfache logische Regel ist für die Berechnung des Ergebnisses so statt einer Lookup-Tabelle nur eine Funktion mit einige einfache Arithmetik:
def letterToNumber(c):
if not 'A' <= c <= 'Z':
raise ValueError('invalid character: ' + c)
return ord(c) - ord('A') + 10
def numberToLetter(x):
if not 10 <= x <= 35:
raise ValueError('invalid number: ' + x)
return chr(x - 10 + ord('A'))
Danke für die schnelle Antwort. Diese Methode hat auch funktioniert. – ouldsmobile
Ich bin damit einverstanden, dass eine Lookup-Tabelle nicht erforderlich ist, aber hier ist ein
>>> import string
>>> x = dict(zip(string.uppercase[:26],range(10,36)))
>>> x['A']
10
>>> x['Z']
35
ich mit dem einfachen Ansatz gehen würde:
import string
def make_lookup_table():
"make a lookup table where 'A' -> 10, 'B' -> 11, ..., 'Z' -> 35"
lookup_table = {}
value = 10
for letter in string.uppercase[:26]:
lookup_table[letter] = value
value += 1
- 1. Python * boost :: python :: object
- 2. Python - Virtualenv, Python 3?
- 3. Python
- 4. Python
- 5. Python-Regex für Python-Funktionssignaturen
- 6. Python Fehler Python 3.5 pygame
- 7. Python-Importfehler "DLL-Ladefehler" | Python
- 8. Kann nicht Python ausführbar "Python"
- 9. Python-Liste von Python-Binärbaum
- 10. Python-Code in Python analysieren?
- 11. Python - Ändern Sie Python nach/usr/local/bin/python?
- 12. Python 2.7 oder Python 3 (für Geschwindigkeit)?
- 13. Neues Projekt: Python 2 oder Python 3?
- 14. Python Multiprocessing auf Python 2.6 Win32 (xp)
- 15. Python Cookbook ist für Python 2.4
- 16. python - OpenCV mat :: convertTo in python
- 17. Python 2.7. Kodierung in Python und cmd
- 18. Python, der mein Python-Modul aufruft
- 19. Python 2-Objekt mit Python 3 entpacken
- 20. Embed Python Interpreter in einer Python-Anwendung
- 21. Amazon S3 Python Bulk-Dateiübertragung über Python
- 22. Python: Java wirft Äquivalent in Python
- 23. Neu in Python Bytes in Python 2.4.3
- 24. Python 2 vs. Python 3 - urllib-Formate
- 25. Erstellen einer Python-Datei mit Python
- 26. Virtual Box Python verschiedene Python-Version
- 27. Parse Python-Modul Installation für Python 2.7
- 28. Python-Befehlszeilenfehler ('Python' ist nicht definiert)
- 29. Python Bokeh Callback externe Python-Funktion
- 30. Z3/Python bekommen Python-Werte von Modell
Haben Sie eine Lookup-Tabelle von Buchstaben in Zahlen wollen, Zahlen Briefe oder beides? –
Mache tatsächlich Nummer zu Brief, aber habe es aus den Beispielen herausgefunden, die du und andere unten gepostet haben. Vielen Dank! – ouldsmobile