Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
breathe_easy
User
Beiträge: 58 Registriert: Sonntag 29. Juli 2007, 18:34
Montag 23. August 2010, 16:41
Hallo einfach mal kurz code dann wird das Problem denke ich schon klar.
was muss ich tun damit aus den Listenelementen selbst eine Liste wird und nicht so aussieht:
["s","t","r", ....] sondern ["string1"]
Danke!!!!
EyDu
User
Beiträge: 4881 Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin
Montag 23. August 2010, 16:48
Hallo.
So?
Code: Alles auswählen
>>> liste = ["string1", "string2", "string3"]
>>> map(lambda x: [x], liste)
[['string1'], ['string2'], ['string3']]
Das Leben ist wie ein Tennisball.
breathe_easy
User
Beiträge: 58 Registriert: Sonntag 29. Juli 2007, 18:34
Montag 23. August 2010, 16:50
Vielen Dank! Genau so!
Ich wäre dir nur sehr dankbar wenn du ein paar Worte dazu sagen könntest, oder einen Weg ohne lambda findest, denn das verstehe ich garnicht!
EyDu
User
Beiträge: 4881 Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin
Montag 23. August 2010, 16:53
Das sollte als Hinweis genügen:
Code: Alles auswählen
>>> liste = ["string1", "string2", "string3"]
>>> def spam(x):
... return [x]
...
>>> map(spam, liste)
[['string1'], ['string2'], ['string3']]
Als nächstes schaust du dann in die Dokumentation zu lambda und liest die Details nach
Das Leben ist wie ein Tennisball.
breathe_easy
User
Beiträge: 58 Registriert: Sonntag 29. Juli 2007, 18:34
Hyperion
Moderator
Beiträge: 7478 Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:
Montag 23. August 2010, 17:07
Wobei mir der Anwendungsfall schon kurios vorkommt. Wozu braucht man ein-elementige Listen? (Zumal, wenn man augenscheinlich mit den Grundlagen eh noch Probleme hat...) Das kommt mir ein wenig spanisch vor.
pillmuncher
User
Beiträge: 1484 Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel
Samstag 28. August 2010, 00:15
Hyperion hat geschrieben: Wobei mir der Anwendungsfall schon kurios vorkommt. Wozu braucht man ein-elementige Listen?
Vielleicht für Monaden?
Code: Alles auswählen
def join(mx):
assert len(mx) == 1
return mx[0]
def compose(f, g):
return lambda x:g(f(x))
def flatmap(mxs, f):
return map(compose(f, join), mxs)
bind = flatmap
def unit(x):
return [x] # <===========
zero = []
def plus(mxs, mys):
mzs = bind(mxs, unit)
mzs.extend(bind(mys, unit))
return mzs
assert plus(unit(5), zero) == unit(5)
def mul2(x):
return unit(x * 2)
def add3(x):
return unit(x + 3)
a = unit(1)
b = unit(7)
c = plus(a, b)
d = bind(c, mul2)
e = bind(d, add3)
print c
print d
print e
# Hier die Monaden-Gesetze:
assert bind(unit(1), mul2) == mul2(1) # links-assoziativ
assert bind(unit(1), unit) == unit(1) # rechts-assoziativ
assert bind(bind(unit(1), mul2), add3) == bind(unit(1), lambda x:bind(mul2(x), add3)) # kommutativ
In specifications, Murphy's Law supersedes Ohm's.