List Comprehensions

Einfache Manipulation

normale Iteration:

   1 >>> a = ["a","b","c"]
   2 >>> temp = []
   3 >>> for i in a:
   4 >>>     temp.append(i+"1")
   5 >>> a = temp
   6 >>> print a
   7 ['a1', 'b1', 'c1']

als List Comprehension:

   1 >>> a = ["a","b","c"]
   2 >>> a = [i+"1" for i in a]
   3 >>> print a
   4 ['a1', 'b1', 'c1']

Weiteres Beispiel

Hier ein Beispiel, wie man in die LC eine if-Abfrage einbauen kann:

Lösung als normale Iteration:

   1 l = ["foo1", "bar", "foo2"]
   2 
   3 result = []
   4 for item in l:
   5     if item.startswith("foo"):
   6         result.append(item)
   7 
   8 print result # Ergebnis: ['foo1', 'foo2']

als List Comprehension:

   1 result = [item for item in l if item.startswith("foo")]
   2 print result # Ergebnis: ['foo1', 'foo2']

List Comprehensions (last edited 2009-06-17 16:14:28 by localhost)