Liste aus einer Liste erzeugen

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.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

EyDu hat geschrieben:Wenn du das durch eine Funktion ersetzt, dann bist du das Problem los.
Das bezweifle ich. Es ist nicht nur der bedingte Ausdruck, sondern auch die LC - die gibt es erst ab Python 2.5.
Aber wer mit der Begründung bei Python 2.4 bleibt, er habe ein Projekt damit angefangen, der hat es auch nicht besser verdient. :D
api
User
Beiträge: 181
Registriert: Donnerstag 7. August 2008, 21:23

@EyDu, numerix: Das ist das, was ich ja meine - meine Version 2.4 gibt nunmal ein "itertools.product" nicht her... :(

Aber klar, es krampfhaft mit 2.4 fertigstellen zu wollen, ist natürlich nicht gerade verständlich. Ich werde es wohl auch nach 3.1 umstellen - wäre aber mein erstes Prg in 3.1 (irgendwann muss man ja mal anfangen!) :wink:

Andererseits hätte es mich schon interessiert, ob man das unter 2.4 ähnlich elegant hinbekommen hätte :!: :?:

Aber ich danke euch für die Hilfe. :D
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Warum muss es denn unbedingt "3.1" sein? Nimm doch z.B. Python 2.6 und dein "2.4"-Code wird aller Wahrscheinlichkeit nach unverändert laufen und das Snippet von EyDu kannst du dann auch einsetzen.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Dann werfe ich der jetzt einfach mal vor, dass du nicht einmal einen Blick in die Dokumentation geworfen hast. Dort steht sogar der Code der Implementierung ;-) . Außerdem sollte man die product-Funktion auch ohne groß nachzudenken selber schreiben können.

Die beste Lösung ist aber sicher auf eine aktuelle Version zu wechseln. Mit 2.4 wirst du früher oder später untergehen.
Das Leben ist wie ein Tennisball.
BlackJack

Wobei ich sicherheitshalber noch einmal betonen möchte, das aktuell auch eine 2.7 ist und nicht nur eine 3.1. Es gibt momentan zwei aktuelle Entwicklungszweige. Auch wenn die 2er auslaufen wird, denke ich die wird noch eine ganze Weile aktuell zur Verfügung stehen.

Von einer 2.7 ist dann auch der Sprung zu einer 3er sicher einfacher zu machen, weil man den Quelltext auf der 2.7er laufend schon darauf vorbereiten kann und so einen fliessenderen Übergang hin bekommt.

Meine Linux-Distribution hat 2.6 als Standardpython installiert. Das wird bei mir wohl die nächsten 5 Jahre die Basis sein. Von den Quelltexten abgesehen, die wegen Jython noch auf 2.5 laufen müssen. Oder vielleicht demnächst PyPy -- das ist ja auch nicht uninteressant.
api
User
Beiträge: 181
Registriert: Donnerstag 7. August 2008, 21:23

Hallo zusammen,

leider habe ich keinen Einfluss auf die Version - ausser, dass ich zwischen 2.4 & 3.1 wählen kann. Wenn ich 2.6 oder 2.7 benutzen könnte, würde ich auf jeden Fall den Weg nehmen.

Natürlich kann man dieses Problem auch mit diversen for-Schleifen oder ähnlichem lösen, aber mich interessiert halt, wie man das mit gegebenen Mitteln, die Python einem zur Verfügung stellt & die ich evtl. noch nicht kenne, hinbekommen könnte.

@EyDu: In die Doku zu schauen, ist immer nen guter Weg - ja klar. Aber dazu muss man doch erstmal wissen, wo man schauen soll. Wenn man mit "itertools.product" vorher nichts gemacht hat, kommt man da auch nicht unbedingt sofort drauf.
Antworten