Permalänk
Medlem

Sortera med lambda

Jag håller på att göra en fotbollstabell i python. Jag har fastnat på den delen där jag ska jämföra olika kolumner i tabellen, alltså först Poäng, Sen målskillnad, sedan gjorda mål och sist Namn för att få fram min tabell. Tänk er hur en normal fotbollstabell ser ut och hur man får fram lagens placeringar

Jag har hört att det går väldigt bra att använda LAMBDA för att kunna sorter men är inte riktigt säker på hur jag ska skriva en sådan funktion.

def __init__(self, name, played, wins, draws, loses, scored, conceded, goalaverage, points): self.namn = str(name) self.played = int(played) self.wins = int(wins) self.draws = int(draws) self.loses = int(loses) self.scored = int(scored) self.conceded = int(conceded) self.goalaverage = int(goalavarage) self.points = int(points)

Så här ser en del av klassen ut.

Skulle vara väldigt tacksam för all hjälp.

Permalänk
Medlem

Python är inte mitt område.. men lambda finns i flera språk och brukar vara ett simpelt sätt att behandla data.

Har du testat att söka på phython lambda expressions/ examples eller så?

Denna sida kanske är av intresse
http://www.bogotobogo.com/python/python_functions_lambda.php

Visa signatur

Intel Core i7 8700K, MSI GeForce GTX 1080 Ti 11GB Gaming X, Samsung 960 EVO 1TB, MSI Z370 GAMING M5, Corsair 32GB (4x8GB) DDR4 3200MHz CL16 Vengeance, EVGA Supernova G3 850W

INTEL CORE I7 3930K 3.20GHZ 12MB S-2011, FRACTAL DESIGN MIDITOWER DEFINE R3, CORSAIR HX 1050W, ASUS RAMPAGE IV FORMULA, Asus STRIX GTX970, CORSAIR 16GB DDR3 DOMINATOR QUAD 1866MHZ CL9 (4X4GB) Ljud: ASUS Xonar D2X/XDT 7.1 | Elac 5.1 +förstärkare | Cambridge dacmagic plus | Astro gaming A40 | Sennheiser HD 650
You ask me if I have a god complex? Let me tell you something, I am god!

Permalänk
Medlem

Glöm det där med lambdafunktioner. Kommer funktionen innehålla mer än en rad kod finns det absolut ingen anledning att ha en lambdafunktion.
Det finns ingen fördel med att använda en sån istället för en som är definierat på vanligt vis med "def"

Du skriver också att du är osäker på hur du ska skriva en lambdafunktion men enligt mig så borde du först lära dig vad det är för något innan du börjar oroa dig för hur du ska skriva dem.

Visa signatur

I'm Winston Wolfe. I solve problems.

Permalänk

Jag håller med matti4s, men av en annan anledning -- sån't där finns nog redan skrivet. Låter som ett jobb för operator-modulen.
Kolla här för lite handfasta tips.