Matroids Matheplanet Forum Index
Moderiert von Bilbo matph
Matroids Matheplanet Forum Index » Informatik » Python Funktion zum Listenspalten
Autor
Schule Python Funktion zum Listenspalten
Bekell
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 05.09.2008
Mitteilungen: 2490
  Themenstart: 2021-07-30

Hallo, bisher weiss ich, man kann mit einer Funktion nur einen Wert zurückgeben. ich möchte was kurzes und einfaches, wo ich eine Liste hochgebe in die Funktion, wo alles Notwendige drin ist, und zwei Listen runterkriege. Wie kann man das machen?


   Profil
tactac
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 15.10.2014
Mitteilungen: 2144
  Beitrag No.1, eingetragen 2021-07-30

\(\begingroup\)\(\newcommand{\sem}[1]{[\![#1]\!]} \newcommand{\name}[1]{\ulcorner#1\urcorner} \newcommand{\upamp}{\mathbin {⅋}}\) Du könntest die zwei Listen in ein Tupel packen (oder eine Liste, ein Objekt einer selbstdefinierten Klasse, ...). Als Beispiel eine Funktion, die, wenn bei $(0,1)$ beginnend iteriert, alle Paare teilerfremder natürlicher Zahlen generiert: \sourceon Python def step(p): (a, b) = p return (b, a + b - a%b*2) \sourceoff \(\endgroup\)


   Profil
Bekell
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 05.09.2008
Mitteilungen: 2490
  Beitrag No.2, vom Themenstarter, eingetragen 2021-07-30

Hallo Tactac, es funktioniert irgendwie nicht: \sourceon Python \numberson def step(p): # tactac's funktion (a, b) = p return (b, a + b - a%b*2) pr=[] for a in range(0,10,2): for i in range(1,10,2): pr.append(a) # hier packt er 0 in die Liste pr pr.append(i) # hier packt er 1 in die Liste pr print("pr:",pr) print("step(pr):",step(pr)) \sourceoff


   Profil
DerEinfaeltige
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 11.02.2015
Mitteilungen: 2964
  Beitrag No.3, eingetragen 2021-07-30

Das ist merkwürdig. Wenn man ohne Sinn und Verstand etwas abschreibt, sollte man doch eigentlich erwarten können, dass es genau das tut, was man sich wünscht ... tactac hat dir ein Beispiel gegeben, wie eine Funktion mehrere Werte in Form eines Tupels übergeben bekommt und auch zurückgibt. Da du nicht verständlich beschreibst, was du willst und noch nicht einmal ein paar Beispiele lieferst, kann man dir schlecht eine kompletten Lösung präsentieren.


   Profil
Bekell
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 05.09.2008
Mitteilungen: 2490
  Beitrag No.4, vom Themenstarter, eingetragen 2021-07-30

Achso, der Ausdruck ist so: pr: [0, 1] step(pr): (1, 1) pr: [0, 1, 0, 3] Ich weiss nicht, ob das richtig ist. Ich kann auch Tupel nicht von Normal unterscheiden, weil beides diese Klammern hat (), Liste hat [], und dict hat {} aus https://www.w3schools.com/python/trypython.asp?filename=demo_type_tuple bin ich nicht schlau geworden, was Tupel von Normal unterscheidet. kannst Du verstehen, Einfältiger, das Progrämmli, was ich grade am Wickeln habe, ist etwa groß geworden und sieht chaotisch aus, und da versuch ich Ordnung und Übersicht reinzukriegen, indem ich manches in externe Funktionen auslagere.... Das Problem ist auch bei mir beim Programmieren, die Ideen, was man alles noch reinpacken könnte, kommenimmer erst nach dem Anfangen und dem Fortgeschritten sein ...


   Profil
tactac
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 15.10.2014
Mitteilungen: 2144
  Beitrag No.5, eingetragen 2021-07-30

Ok, etwas näher an dem, was in #0 beschrieben ist: \sourceon Python def doSomething(input): list1 = list(filter(lambda x: x%2 == 1, input)) list2 = list(filter(lambda x: x%2 == 0, input)) return (list1, list2) # Beispielaufruf: (l1, l2) = doSomething([1,2,3]) # l1 ist jetzt [1,3], # l2 ist jetzt [2]. \sourceoff


   Profil
Bekell
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 05.09.2008
Mitteilungen: 2490
  Beitrag No.6, vom Themenstarter, eingetragen 2021-07-31

Danke Tactac, melde mich nach Verarbeitung! (Hoffe, komm heute dazu, muss jetzt erst schwimmen, dann zu den Bienen!)


   Profil
Bekell hat die Antworten auf ihre/seine Frage gesehen.
Bekell wird per Mail über neue Antworten informiert.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]