[GO] Techniken, die häufig bei der Python-Kurzcodierung verwendet werden (Notepad)

Ich werde von Zeit zu Zeit die Techniken aktualisieren, die ich in der kürzlich auf der Website codefights begonnenen Showcodierung gelernt habe.

Kurze Codierungsüberlegung

Basic

<Und <=

Der Vergleichsoperator <= kann grundsätzlich weggelassen und um ** 1 Zeichen ** reduziert werden

# long
a <= 3

# short (Wenn a eine ganze Zahl ist)
a < 4

~ -und- ~

Entspricht -1 bzw. +1 Da es jedoch eine höhere Priorität als der Multiplikationsoperator hat, kann es durch Weglassen der Klammern um ** 2 Zeichen ** reduziert werden.

# long
b * (a - 1) * 5

# short
b * ~-a * 5

Dreiecksoperator

: (Doppelpunkt) und die linke Seite der Zuordnung können weggelassen werden

# long
if a < b:
    c = 4
else:
    c = 2

# short
c = 4 if a < b else 2

Repr Literal

(Nur Python2) Verwenden Sie \ \, um in einen String zu konvertieren

# long
str(1600)

# short
`1600`

Richtig, falsch Konstante

Wenn Sie einen logischen Wert genau zurückgeben möchten, verwenden Sie eine logische Operation ohne True oder False.

# long
b = False

# short
b = 0 > 1



# long
return True

# short
return 1 > 0

import as Kürzen Sie auch das zu importierende Modul

# long
import math
math.sqrt(10)

# short
import math as m
m.sqrt(10)

Massenäquivalenzprüfung

Verbinden Sie mehrere Zeichenfolgenvergleiche und führen Sie sie gleichzeitig durch

#Sowohl das erste als auch das letzte Zeichen stimmen überein
# long
a[0] == b[0] and a[-1] == b[-1]

# short
a[0] + a[-1] == b[0] + b[-1]


#A und B,c und d haben die gleiche Länge(Oder einzigartig, auch wenn es kombiniert wird)Wenn
# long
a == b and c == d

# short
a + c == b + d

Funktionen etc.

Die Codefights Challenge testet Ihre Antwort in Form einer Funktion

lambda Wenn möglich, können Sie ** 4 Zeichen ** reduzieren, indem Sie die Funktion in einen Lambda-Ausdruck konvertieren.

# long
def Hoge(n):
    return n * 2

# short
Hoge = lambda n: n * 2

Argumentname

Argumentnamen können ein Zeichen sein, da sie in vielen Fällen nicht explizit aufgerufen werden.

# long
def Hoge(arg):
    return arg ** arg

# short
def Hoge(a):
    return a ** a

Rekursive Funktion

Bei Verwendung von rekursiv einer Ein-Buchstaben-Variablen zuweisen

# long
def LongLongHoge(a):
    if a < 3:
        return a
    return LongLongHoge(a - 2) * LongLongHoge(a - 1)

# short
def LongLongHoge(a):
    if a < 3:
        return a
    return t(a - 2) * t(a - 1)
t = LongLongHoge

Noch kürzer mit Lambda und gleichzeitiger Zuordnung

# short
LongLongHoge = t = lambda a: a if a < 3 else t(a - 2) * t(a - 1)

Anwendung

Konditionierung in einer Liste

# long
t = a % 3
if t == 0:
    a = a * 2
elif t == 1:
    a = 0
elif t == 2:
    a = t * 2

# short
a = [a * 2, 0, (a % 3) * 2][a % 3]

# short
t = a % 3
a = [a * 2, 0, t * 2][t]

Verwenden Sie bedingte Ausdrücke gut

(a <b) gibt True und False zurück, kann jedoch für die Arithmetik als 1 bzw. 0 verwendet werden Es gibt viele Muster, die bei Verwendung weggelassen werden können

# long
c = 4 if a < b else 2

# short
c = 2 + 2 * (a < b)

Erstellen Sie eine Funktion, die andere Methoden enthält

# long
myhex = lambda n: '%X' % n

# short
myhex = '{:X}'.format
myhex = '%X'.__mod__

Recommended Posts

Techniken, die häufig bei der Python-Kurzcodierung verwendet werden (Notepad)
[Python] Techniken, die häufig beim maschinellen Lernen verwendet werden
Code, der häufig in Python / Django-Apps verwendet wird [Präfekturen]
Eine Code-Sammlung, die häufig in persönlichem Python verwendet wird
Einstellungen, die häufig in Jupyter verwendet werden
Techniken zum Sortieren in Python
Befehle, die häufig in der Entwicklungsumgebung während der Python-Implementierung verwendet werden
Tipps zum Codieren kurz und einfach in Python zu lesen
Kann mit AtCoder verwendet werden! Eine Sammlung von Techniken zum Zeichnen von Kurzcode in Python!
8 häufig verwendete Befehle in Python Django
[Python] Grundkenntnisse in AtCoder
Zusammenfassung der häufig verwendeten Grammatik bei Pandas
Zusammenfassung der häufig verwendeten Methoden bei Pandas
Festplattenbezogene Befehle, die häufig in Ubuntu verwendet werden (Hinweise)
Schreiben Sie eine kurze Eigenschaftsdefinition in Python
Verarbeiten von Memos, die häufig bei Pandas (Anfängern) verwendet werden
Python scikit-learn Eine Sammlung von Tipps für Vorhersagemodelle, die häufig im Feld verwendet werden
Python scikit-learn Eine Sammlung von Tipps für Vorhersagemodelle, die häufig im Feld verwendet werden
++ und-können nicht zum Inkrementieren / Dekrementieren in Python verwendet werden
Finden Sie in Python Primzahlen mit einem möglichst kurzen Code
Einstellungen für die Python-Codierung mit Visual Studio-Code
Astro: Häufig verwendete Python-Module / -Funktionen zur Analyse
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
Erste Python ~ Codierung 2 ~
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python