Nous avons chiffres dans une chaîne comme ceci:numéros de tri dans une ligne
numbers = "1534423543"
Nous voulons régler ce problème et retour: (seuls les numéros uniques)
"1,2,3,4,5"
Comment le faire en UNE seule ligne?
Nous avons chiffres dans une chaîne comme ceci:numéros de tri dans une ligne
numbers = "1534423543"
Nous voulons régler ce problème et retour: (seuls les numéros uniques)
"1,2,3,4,5"
Comment le faire en UNE seule ligne?
utilisation set()
pour obtenir des objets uniques, les trier puis en utilisant sorted()
et enfin les rejoindre en utilisant ",".join()
In [109]: strs="1534423543"
In [110]: ",".join(sorted(set(strs)))
Out[110]: '1,2,3,4,5'
C'est un trou dans UN! – Pramod
Awsome !! Jakkas répond .. :). –
Devons-nous utiliser 'sorted()' si la chaîne contient uniquement des nombres? –
Ashwini a la réponse qui est à la pointe des doigts de tout le monde - si vous êtes pour une importation, vous pouvez faire ...
from itertools import groupby; ','.join(k for k, g in groupby(sorted(nums)))
Et c'est presque une ligne :)
+1 pour suivre strictement l'exigence. lol :) –
Pourquoi préféreriez-vous cela sur la solution 'set' plus simple? – mgilson
@mgilson J'utiliserais certainement la solution 'set', je pensais juste jeter une alternative (et merci pour l'éditer) –
pourquoi est-ce si important le faire en une ligne? – Ant