Heim Backend-Entwicklung Python-Tutorial 30 Funktionen und Tricks der Python-Sprache, die Sie möglicherweise nicht kennen

30 Funktionen und Tricks der Python-Sprache, die Sie möglicherweise nicht kennen

Oct 19, 2016 am 11:38 AM
python

Als ich angefangen habe, Python zu lernen, habe ich beschlossen, eine Liste häufig verwendeter „Tipps“ zu führen. Immer wenn ich einen Code sehe, der mich denken lässt: „Cool, das funktioniert!“ (zum Beispiel auf StackOverflow, in Open-Source-Software usw.), probiere ich ihn aus, bis ich ihn verstehe, und füge ihn dann der Liste hinzu . Dieser Beitrag ist Teil einer bereinigten Liste. Wenn Sie ein erfahrener Python-Programmierer sind, entdecken Sie möglicherweise einige, die Sie noch nicht kennen, obwohl Sie einige bereits kennen. Wenn Sie ein C-, C- oder Java-Programmierer sind, der Python lernt oder gerade erst mit dem Programmieren beginnt, werden Sie viele davon sehr nützlich finden, so wie ich es getan habe.

Jeder Trick oder jede Sprachfunktion kann nur anhand von Beispielen ohne übermäßige Erklärung überprüft werden. Obwohl ich versucht habe, die Beispiele klar zu formulieren, werden einige von ihnen je nach Vertrautheit dennoch etwas kompliziert aussehen. Wenn Sie sich also nach dem Betrachten des Beispiels nicht sicher sind, kann der Titel genügend Informationen liefern, um den detaillierten Inhalt über Google zu erhalten.

Die Liste ist nach Schwierigkeitsgrad sortiert, wobei häufig verwendete Sprachfunktionen und -techniken ganz vorne stehen.

1.30 Maximale und minimale Elemente (heapq.nlargest und heapq.nsmallest)

>>> a = [random.randint(0, 100) for __ in xrange(100)]

>>> heapq.nsmallest(5, a)

[3, 3, 5, 6, 8]

>>> heapq.nlargest(5, a)

[100, 100, 99, 98, 98]

1.31 Kartesisches Produkt (itertools.product)

>>> für p in itertools.product([1, 2 , 3], [4, 5]):

(1, 4)

(1, 5)

(2, 4)

(2, 5)

(3, 4)

(3, 5)

>>> für p in itertools.product([0, 1], wiederholen =4):

... print ''.join(str(x) for x in p)

...

0000

0001

0010

0011

0100 0

1001

1010

1011

1100

1101

1110

1111

1.32 Kombinationen und Ersetzungen von Kombinationen (itertools.combinations und itertools.combinations_with_replacement)

> >> für c in itertools.combinations([1, 2, 3, 4, 5], 3):

... print ''.join(str(x) for x in c)

...

123

124

125

134

135

145

234

235

245

345

>>> für c in itertools.combinations_with_replacement([1, 2, 3] , 2):

... print ''.join(str(x) for x in c)

...

11

12

13

22

23

33

1.33 Sorting(itertools.permutations)

>> > für p in itertools.permutations([1, 2, 3, 4]):

... print ''.join(str(x) for x in p)

. ..

1234

1243

1324

1342

1423

1432

2134

2143

2314

2341 🎜>

2413

2431

3124

3142

3214

3241

3412

3421

4123

4132

4213

4231

4312

4321

1.34 Link-Iteration (itertools.chain)

>>> a = [1, 2, 3 , 4]

>>> für p in itertools.chain(itertools. combinations(a, 2), itertools.combinations(a, 3)):

... print p

...

(1, 2)

(1, 3)

(1, 4)

(2, 3)

(2, 4)

(3 , 4)

(1, 2, 3)

(1, 2, 4)

(1, 3, 4)

(2 , 3, 4)

>>> für Teilmenge in itertools.chain.from_iterable(itertools.combinations(a, n) für n im Bereich(len(a) 1))

.. Teilmenge drucken

...

()

(1 ,)

(2,)

(3, )

(4,)

(1, 2)

( 1, 3)

(1, 4)

(2, 3)

(2, 4)

(3, 4)

(1, 2, 3)

(1, 2 , 4)

(1, 3, 4)

(2, 3, 4)

(1, 2, 3, 4)

1.35 Zeilen nach gegebenem Wert gruppieren (itertools.groupby)

>>> vom Operator import itemgetter

>>> itertools importieren

>>> mit open('contactlenses .csv', 'r') als Infile:

... data = [line.strip().split (',') für Zeile in Infile]

...

>>> data = data[1:]

>>> def print_data(rows):

... print 'n'.join('t'. join('{: ...

>>> print_data( data)

jung               Kurzsichtigkeit                   nein                     keine  

jung               Kurzsichtigkeit                  nein                      normal                  weich  

jung               kurzsichtig                      reduziert                 keine  

jung               Kurzsichtigkeit                   ja                     normal                    

jung               hypermetrope            nein reduziert                 keine  

jung               hypermetrop                      normal                  jung.              hypermetropisch            ja                     reduziert                 keine               hypermetropisch                                        normal                  schwer  

präpresbyope      Myopie                                    reduziert                

Präpresbyopie                 nein                    normal                weich  

Präpresbyopie                  ja                     reduziert                 keine                 schwer  

präpresbyopisch      hypermetrop            nein                      reduziert                 keine

präpresbyopisch      hypermetrop            nein                    normal                weich  

präpresbyopisch         ja                     reduziert                 keine  

präpresbyope      hypermetrope                       keine  

Presbyopie          Kurzsichtigkeit                   nein                      reduziert                 keine

Presbyopie          Kurzsichtigkeit                   nein                      normal                  keine  

Presbyopie          Myopie                   ja                   reduziert               keine  

Presbyopie                ja                     normal                  schwer  

presbyopisch          hypermetropisch            nein                                  keine  

presbyope          hypermetrop          nein                    normal                     hypermetrop            ja reduziert                 keine  

presbyopisch          hypermetrop            ja                   normal                  keine  

 

>>> data.sort(key=itemgetter(-1))  

>>> für Wert, Gruppe in itertools.groupby(data, lambda r: r[-1]):  

...     print '-----------' 

. ..     print 'Group: ' value  

...     print_data(group)  

...  

-----------  

Gruppe: schwer  

jung               kurzsichtig                 ja                   normal                      Hypermetropie            ja                   normal                schwer  

präpresbyope                                  normal                  hart  

Presbyopie          Kurzsichtigkeit                   ja normal                  hart  

-----------  

Gruppe: keine  

jung               kurzsichtig                 nein                   reduziert                 keine  

jung               Kurzsichtigkeit                   ja                     reduziert                 keine

jung               hypermetrop            nein                     keine  

jung                     ja                     reduziert                 keine  

präpresbyope                 nein                                  keine  

präpresbyope      Myopie                   ja                     reduziert                 keine  

präpresbyopisch      hypermetropisch            nein                      reduziert                 keine  

präpresbyopisch      hypermetropisch            ja                   reduziert                 keine  

präpresbyopisch      hypermetropisch                              normal                  keine                          keine  

Presbyopie          Kurzsichtigkeit                   nein                      normal                  keine  

Presbyopie          Myopie                   ja                   reduziert                 keine  

Presbyopie          Hypermetropie                               reduziert                 keine  

presbyopisch          ja                    keine  

presbyopisch          hypermetropisch            ja                     normal                  keine  

----- ------

Gruppe: weich

junges Myope kein normales weiches

junges Hypermetrop

präpresbyope      hypermetrope            nein                    normale                weiche     nein                      normal                  weich 

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hadidb: Eine leichte, horizontal skalierbare Datenbank in Python Hadidb: Eine leichte, horizontal skalierbare Datenbank in Python Apr 08, 2025 pm 06:12 PM

Hadidb: Eine leichte, hochrangige skalierbare Python-Datenbank Hadidb (HadIDB) ist eine leichte Datenbank in Python mit einem hohen Maß an Skalierbarkeit. Installieren Sie HadIDB mithilfe der PIP -Installation: PipinstallHadIDB -Benutzerverwaltung erstellen Benutzer: createUser (), um einen neuen Benutzer zu erstellen. Die Authentication () -Methode authentifiziert die Identität des Benutzers. fromHadidb.operationImportUseruser_obj = user ("admin", "admin") user_obj.

Navicat -Methode zum Anzeigen von MongoDB -Datenbankkennwort Navicat -Methode zum Anzeigen von MongoDB -Datenbankkennwort Apr 08, 2025 pm 09:39 PM

Es ist unmöglich, das MongoDB -Passwort direkt über Navicat anzuzeigen, da es als Hash -Werte gespeichert ist. So rufen Sie verlorene Passwörter ab: 1. Passwörter zurücksetzen; 2. Überprüfen Sie die Konfigurationsdateien (können Hash -Werte enthalten). 3. Überprüfen Sie Codes (May Hardcode -Passwörter).

Der 2-stündige Python-Plan: ein realistischer Ansatz Der 2-stündige Python-Plan: ein realistischer Ansatz Apr 11, 2025 am 12:04 AM

Sie können grundlegende Programmierkonzepte und Fähigkeiten von Python innerhalb von 2 Stunden lernen. 1. Lernen Sie Variablen und Datentypen, 2. Master Control Flow (bedingte Anweisungen und Schleifen), 3.. Verstehen Sie die Definition und Verwendung von Funktionen, 4. Beginnen Sie schnell mit der Python -Programmierung durch einfache Beispiele und Code -Snippets.

Wie optimieren Sie die MySQL-Leistung für Hochlastanwendungen? Wie optimieren Sie die MySQL-Leistung für Hochlastanwendungen? Apr 08, 2025 pm 06:03 PM

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

Python: Erforschen der primären Anwendungen Python: Erforschen der primären Anwendungen Apr 10, 2025 am 09:41 AM

Python wird in den Bereichen Webentwicklung, Datenwissenschaft, maschinelles Lernen, Automatisierung und Skripten häufig verwendet. 1) In der Webentwicklung vereinfachen Django und Flask Frameworks den Entwicklungsprozess. 2) In den Bereichen Datenwissenschaft und maschinelles Lernen bieten Numpy-, Pandas-, Scikit-Learn- und TensorFlow-Bibliotheken eine starke Unterstützung. 3) In Bezug auf Automatisierung und Skript ist Python für Aufgaben wie automatisiertes Test und Systemmanagement geeignet.

Wie man AWS -Kleber mit Amazon Athena verwendet Wie man AWS -Kleber mit Amazon Athena verwendet Apr 09, 2025 pm 03:09 PM

Als Datenprofi müssen Sie große Datenmengen aus verschiedenen Quellen verarbeiten. Dies kann Herausforderungen für das Datenmanagement und die Analyse darstellen. Glücklicherweise können zwei AWS -Dienste helfen: AWS -Kleber und Amazon Athena.

Kann MySQL mit dem SQL -Server eine Verbindung herstellen? Kann MySQL mit dem SQL -Server eine Verbindung herstellen? Apr 08, 2025 pm 05:54 PM

Nein, MySQL kann keine direkt zu SQL Server herstellen. Sie können jedoch die folgenden Methoden verwenden, um die Dateninteraktion zu implementieren: Verwenden Sie Middleware: Exportieren Sie Daten von MySQL in das Zwischenformat und importieren sie dann über Middleware in SQL Server. Verwenden von Datenbank -Linker: Business -Tools bieten eine freundlichere Oberfläche und erweiterte Funktionen, die im Wesentlichen weiterhin über Middleware implementiert werden.

So starten Sie den Server mit Redis So starten Sie den Server mit Redis Apr 10, 2025 pm 08:12 PM

Zu den Schritten zum Starten eines Redis -Servers gehören: Installieren von Redis gemäß dem Betriebssystem. Starten Sie den Redis-Dienst über Redis-Server (Linux/macOS) oder redis-server.exe (Windows). Verwenden Sie den Befehl redis-cli ping (linux/macOS) oder redis-cli.exe ping (Windows), um den Dienststatus zu überprüfen. Verwenden Sie einen Redis-Client wie Redis-Cli, Python oder Node.js, um auf den Server zuzugreifen.

See all articles