@GinSchweppes: plusa dałem za list comprehension i za nicka (yebać Kinley'a (✌゚∀゚)☞) bo jak już kolega zauważył elementy zbioru muszą być haszowalne, inaczej mógłbyś zmienić jakiś już po utworzeniu zbioru na taki jaki już w zbiorze jest.
@GinSchweppes no właśnie te metody nie chciały działać
@Dzordz: set() to nie metoda listy, tylko konstruktor obiektu typu zbiór, a czemu kolega zaproponował
@GinSchweppes: a wiesz co to jest element setu? xD powiedz mi ktore z nich jest mutable? ktore jest lista? 1,2,3,2,5 zdajesz sobie sprawe ze set(lista) przerabia liste na set, a nie tworzy set z lista jako element? xD sprobuj w ten sposob: set([[1,2], [3,4]]) - czyli to o co pytal op a dostaniesz to oczym
@wiewior_s: pracuje z pythonem od lat, natomiast po tobie od razu widac, ze sie boisz niewiedzy, bo bronisz sie nawet przed podaniem nazwiska. dodatkowo widac, ze jestes debilem; podalem przyklad uproszczony, ale skoro jestes zbyt glupi by podlug niego zrozumiec to masz na swoim przykladzie uzycie set(): lista = [[1,2], [3,4]] [list(item) for item in set(tuple(item) for item in lista)]
@wiewior_s: smieciaku-anonimku, zostawie twoje pytania retoryczne, bo zal odpowiadac; celem bylo rozwiazanie problemu w sposob prosty i to uczynilem; nie bylo celem stworzenie zbioru z lista, a ponadto skladnia pythona na to nie pozwala, wiec nie wiem z czym masz problem; wykaz, ze ten kod nie rozwiazuje problemu, a nie sie spinasz
@GinSchweppes: do mnie sie dosrales o set (ktory jest oczywistym rozwiazaniem, jesli elementy nie sa mutable, ale nie w tym przypadku), cytuje "@wiewior_s: p--------z" jak ci napisalem ze na set nie da sie wrzucic listy to zaczales jakies swoje debilne wywody. swoje rozwiazanie trzeba bylo wrzucic zamiast pierwszego idiotycznego posta z set, i nadal nie masz tam nawet przez moment listy jako element setu. nie chce mi sie dalej dyskutowac
@luzny_lori: Przeciez ja tam zamieniam niehaszowalne w haszowalne. Zreszta, po co ten spor o terminologie, pokaz, ze rozwiazanie problemu OPa nie dziala.
Próbuje rozwiązać problem. Mam listę która składa się z innych list o tej samej konstrukcji. Mam na niej duble. Jak mogę usunąć powtórzenia?
@GinSchweppes no właśnie te metody nie chciały działać
@Dzordz: set() to nie metoda listy, tylko konstruktor obiektu typu zbiór, a czemu kolega zaproponował
A set object is an unordered collection of distinct hashable objects.
https://docs.python.org/3/glossary.html#term-hashable
All of Python’s immutable built-in objects are hashable; mutable containers (such as lists or dictionaries) are not.
lista = [1,2,3,2,5]
set(lista)
zdajesz sobie sprawe ze set(lista) przerabia liste na set, a nie tworzy set z lista jako element? xD
sprobuj w ten sposob:
set([[1,2], [3,4]]) - czyli to o co pytal op
a dostaniesz to oczym
dodatkowo widac, ze jestes debilem; podalem przyklad uproszczony, ale skoro jestes zbyt glupi by podlug niego zrozumiec to masz na swoim przykladzie uzycie set():
lista = [[1,2], [3,4]]
[list(item) for item in set(tuple(item) for item in lista)]
Komentarz usunięty przez autora
@GinSchweppes: ale różnicę pomiędzy listą a krotką to ty znaj zanim zarzucisz komuś niewiedzę.
a co do twojego
nie dziala
No przeciez to wlasnie zrobilem
edit: ja nie mówię o wyniku ale o tym co podajesz do konstruktora zbioru
lista = [[1, 2], [1, 2]]pamiętaj, że problem OPa, który miałaby twoja konstrukcja rozwiązywać, to eliminacja duplikatów z listy.
edit: a szlag, masz rację, p-------m stopień zagłębienia