Wpis z mikrobloga

Siema, zgodnie z sugestią podsumowania będę pisał kolejnego dnia, zamiast w nocy. Wczorajszy dzień to nadal było aktywne rozwiązywanie zadań na Codewars. Skupiam się głównie na 8/7/6 poziomie, najczęściej w dużych ilościach robię zadania 8 i 7 i czasem dziabnę pare szóstek. Wczoraj zaskoczyła mnie jedna rzecz, która zobaczyłem na kursie (roczny, darmowy kurs: link, że kiedy mamy liste w liście i odwołujemy się do do indeksu np. [1], to dostajemy output w postaci listy o indeksie jeden. Natomiast kiedy napiszemy sobie taką funkcję:

def returnlista(lista):

return lista[1]

lista.sort(reverse=True/False, key=returnlista)


To wtedy będziemy iterować po elemencie [1] każdej z list i będą one output'owane w kolejności względem owego elementu, np. od najmniejszego do największego lub na odwrót.

#naukaprogramowania
#109dni
#python
Czujeglod10 - Siema, zgodnie z sugestią podsumowania będę pisał kolejnego dnia, zamia...

źródło: comment_1647527472ysKZlDYoYfvXWbtOmgDts6.jpg

Pobierz
  • 4
@Czujeglod10: Jedno z popularnych zadań na rozmowach o pracę brzmi w stylu "Masz listę, której elementami są stringi z imieniem i nazwiskiem jakiejś osoby. Posortuj te elementy po nazwisku".

names = ["Adam Kowalski", "Michał Wiśniewski", "Krzysztof Babiarz"]
def return_second_name(name):
_return name.split()[1]

print(sorted(names, key=return_second_name))
Ale uczyłeś się chyba wześniej o lambdach, prawda? To masz świetne miejsce aby je wykorzystać. Zamiast Tworzyć nowej metody i użyć ją jako key to możesz tutaj
@venomik: Tak miałem, i lambda sprawdza się świetnie. No i dużo przejrzyjściej to wygląda z lambdą, gdybym wcześniej o tym nie usłyszał, że tak to można robić to pewnie bym próbował coś na pętlach for budować, zeby otrzymać taki efekt. ʕʔ