• Home
  • Impressum
Blue Orange Green Pink Purple

Python: List Comprehension

Posted in Programmierung. on Dienstag, September 22nd, 2009 by evnu Tags: Python, Syntactic Sugar
Sep 22

Der ein oder andere kennt List Comprehension vielleicht aus anderen Sprachen wie zum Beispiel Haskell . Erfreulicherweise besitzt auch Python dieses syntaktische Zuckerstück.

Jeder Programmierer kennt aus der täglichen Arbeit folgende Aufgabe: Man hat eine Menge von Objekten zur Verfügung und will eine Operation auf diese anwenden, um wiederrum eine neue Menge von Objekten zu erhalten.
List Comprehension kann einige dieser Aufgaben erleichtern, in dem einfache For-Schleifen durch kurze Ausdrücke ersetzt werden können:

lon = [1,2,3,4,5,6]
after_op = []
for number in lon:
  after_op.append(number + 1)

Oder kurz mit List Comprehension:

lon = [1,2,3,4,5,6]
after_op = [number + 1 for number in lon]

List Comprehension liest sich also wie die aus der Mathematik bekannte Mengendefinition. Dies erlaubt es, viele kleine Arbeiten ohne Schleifen zu erledigen. Weitere Beispiele hierzu siehe hier.

Ein nettes kleines Beispiel ist die Umsetzung des Sortieralgorithmus Quicksort, die relativ einfach die Funktionsweise des Algorithmus darstellt:

def quicksort (liste):
  if liste == []: return []
  pivot = liste[0] # wir wählen das erste Element als Pivotelement.
  return [kleiner for kleiner in liste if kleiner <= pivot] + pivot + [groesser for groesser in liste if groesser > pivot]

Leave a Reply

LAZY EVALUATION

  • About
    "Faule Berechnung" - das soll mein Name Lazy Evaluation übersetzt bedeuten, ziemlich Sinnfrei aber was solls? Es muss ja nicht alles einen Sinn haben! Dafür biete ich jedem viele nützliche gute Sachen!
  • Categories
    • Allgemein
    • Autoren
    • Datenschutz
    • Grafikdesign
    • Programmierung
  • Recent Articles
    • Die Ursachen der Finanzkrise
    • Lockerz.com // Was hat es damit auf sich???
    • Webentwicklung mit PHP für Einsteiger
    • Kurztipp: vim – Rechtschreibprüfung
    • Libri.de von Netzpolitik gehackt.
    • Kurztipp: Linux: Versionsverwaltung (git): Hooks
  • Links:
    • Impressum
    • Kostenlose Desktopbilder
  • Archives
    • Februar 2010
    • Dezember 2009
    • November 2009
    • Oktober 2009
    • September 2009
    • Juli 2009
    • März 2009
    • Februar 2009
    • November 2008
  • Search





Blogverzeichnis - Blog Verzeichnis bloggerei.de


adobe Bash Blockdevice briefpapier bundesnetzagentur cold-calling cracker creative suite Datenschutz dummys einführung event framework freedom gehackt gewinnspiele git grafik grundlagen hacker Helfer hooks illustrator indesign kostenlos designer libri Linux netzpolitik open-source Organisation photoshop php ps lite Python rechtschreibprüfung software spell-check Syntactic Sugar veranstaltung versionsverwaltung vim web bildbearbeitung webentwicklung Werbeanrufe zend


  • Home
  • Impressum

© Copyright LAZY EVALUATION. All rights reserved.
Designed by FTL Wordpress Themes brought to you by Smashing Magazine

Back to Top