Mamy liczb w ciąg tak:sortować numery w jednej linii
numbers = "1534423543"
Chcemy uporządkować to i powrót: (! Tylko unikalnych numerów)
"1,2,3,4,5"
Jak zrobić to w JEDNEJ linii?
Mamy liczb w ciąg tak:sortować numery w jednej linii
numbers = "1534423543"
Chcemy uporządkować to i powrót: (! Tylko unikalnych numerów)
"1,2,3,4,5"
Jak zrobić to w JEDNEJ linii?
użycie set()
uzyskać unikalne przedmioty, a następnie posortować je za pomocą sorted()
i wreszcie połączyć je za pomocą ",".join()
In [109]: strs="1534423543"
In [110]: ",".join(sorted(set(strs)))
Out[110]: '1,2,3,4,5'
To jest dziura w jednym! – Pramod
Awsome !! Jakkas odpowiedzieć .. :). –
Czy potrzebujemy użyć 'sorted()' jeśli string zawiera tylko liczby? –
Ashwini ma odpowiedź, która jest na czubku palców każdego z nas - jeśli czujesz się na import, można zrobić ...
from itertools import groupby; ','.join(k for k, g in groupby(sorted(nums)))
I to prawie jeden wiersz :)
+1 za ścisłe przestrzeganie wymogu. lol :) –
Dlaczego wolałbyś to od prostszego rozwiązania "set"? – mgilson
@mgilson Zdecydowanie użyłbym rozwiązania 'set', pomyślałem, że podrzucę alternatywę (i dzięki za edycję) –
dlaczego tak ważne jest robienie tego w jednym wierszu? – Ant