ubuntuusers.de

Unix/Linux Programmierung lernen?

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17622

Wohnort: Berlin

seahawk1986 schrieb:

user_unknown schrieb:

Da das kein lauffähiger Code ist und ich kein Python kann muss ich ein wenig raten, was Du da tust.

Der Code ist lauffähig, den kannst du direkt mit einem python3-Interpreter ausführen:

Das war doch schon abgehandelt, oder wofür ist das jetzt interessant?

Wobei man die Anzahl Codezeilen noch deutlich reduzieren kann, wenn man es darauf anlegt - und dann ist Java durch den nötigen Boilerplate-Code auf einmal deutlich länger, denn 4 Zeilen gehen bei Java allein schon für die Klassendeklaration und die main()-Funktion drauf:

Das war aber nicht die Aussage, die ich bestritten habe. Ich hatte behaupet, dass man zum Sortieren bei Java keine mehrere Dutzend Zeilen Code braucht, sondern zum Sortieren nur eine. Das kannst Du mit Phythoncode nicht widerlegen.

Edit: zum zweiten Teil braucht man natürlich Beispieldaten:

1
2
3
4
>>> liste_mit_dicts = [{'MEAN': 1.25, 'X': 1, 'Y':3},{'X': 2, 'MEAN': 1.15, 'Y': 2}, {'X': 2, 'MEAN': 1.20, 'Y': 2.5}]
>>> sortierte_liste_mit_dicts = sorted(liste_mit_dicts, key=itemgetter('MEAN'))  # Sortiere nach dem MEAN-Key in den Dictionaries
>>> sortierte_liste_mit_dicts
[{'Y': 2, 'X': 2, 'MEAN': 1.15}, {'Y': 2.5, 'X': 2, 'MEAN': 1.2}, {'Y': 3, 'X': 1, 'MEAN': 1.25}]

Ach so, MEAN ist nur ein Eintrag in der Map.

1
		list.sort ((m1, m2) -> ((m1.get ("MEAN").compareTo (m2.get("MEAN")))));

Das ist ähnlich, eine Zeile. Mit X, Y wird es etwas länger.

1
2
3
4
		list.sort ((m1, m2) -> {
			Double dx = m1.get ("X").compareTo (m2.get ("X"));
			(((dx != 0) ? dx : m1.get ("Y").compareTo(m2.get ("Y"))))
		});

Könnte man in eine Zeile zwingen, aber das wollte dann niemand lesen müssen.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11265

Wohnort: München

seahawk1986 schrieb:

Edit: zum zweiten Teil braucht man natürlich Beispieldaten:

Davor muss man natürlich noch den itemgetter aus dem operator-Modul importieren, sonst meckert er:

1
from operator import itemgetter

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17622

Wohnort: Berlin

Fanatics schrieb:

Und nun lieber Threadersteller, siehst Du, was passiert, wenn man nach "Wie oder was ist am besten" fragt → FLAMEWAR! 😉

Glaubst Du, Du Hast schon mal einen Flamewar gesehen? 😉

Hier ist doch alles sehr sachlich und entspannt.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13213

Mimosin schrieb:

ich will hier nicht noch alles komplizierter machen, aber als Oldie kann ich noch auf Lazarus (Pascal-/Delphi-Klon) hinweisen. Pascal war jahrelang in Deutschland sehr verbreitet und hat noch viele Anhänger und freie Literatur. In den Foren findest du viel deutschsprachige Hilfe. Als Ausbildungssprache führt es auch einfach in die verschiedensten Sprachkonzepte ein. Gerade grafische Oberflächen sind mit Lazarus extrem einfach zu programmieren.

👍 Pascal ist auf jeden Fall eine recht gute Sprache zum Lernen, weil sie nicht objektorientiert ist, was erst mal eine Dimension von Komplexität weg lässt. Damit kann man sich erst mal mit den grundlegenden Konzepten von Abstraktion vertraut machen. Zeiger (zum Glück ohne Zeiger-Arithmetik) gibt es auch, so dass man rekursive Datenstrukturen aufbauen kann.

glasenisback

Avatar von glasenisback

Anmeldungsdatum:
20. November 2011

Beiträge: 1603

Wohnort: Fernwald (Gießen)

rklm schrieb:

👍 Pascal ist auf jeden Fall eine recht gute Sprache zum Lernen, weil sie nicht objektorientiert ist, was erst mal eine Dimension von Komplexität weg lässt. Damit kann man sich erst mal mit den grundlegenden Konzepten von Abstraktion vertraut machen. Zeiger (zum Glück ohne Zeiger-Arithmetik) gibt es auch, so dass man rekursive Datenstrukturen aufbauen kann.

Es gibt auch eine objektorientierte Variante von Pascal. Aber recht hast du trotzdem. Pascal ist eine wunderbare Sprache zum Einstieg ins Programmierung. Habe damals in den 90er auch damit angefangen ernsthafter programmieren zu lernen. Ich finde es schade, dass Pascal nirgendwo mehr gelehrt wird und jeder meint Java wäre die perfekte Sprache für den Einstieg (Weil es eben überall gelehrt wird).

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13213

glasenisback schrieb:

rklm schrieb:

👍 Pascal ist auf jeden Fall eine recht gute Sprache zum Lernen, weil sie nicht objektorientiert ist, was erst mal eine Dimension von Komplexität weg lässt.

Es gibt auch eine objektorientierte Variante von Pascal.

Ist mir bewusst. Das ist dann aber strenggenommen kein Pascal.

Antworten |