9

次のような文字列に数字があります。

numbers = "1534423543"

これを並べ替えて返します。

"1,2,3,4,5" 

(一意の番号のみ!)

1行でそれを行う方法は?

4

2 に答える 2

28

を使用set()して一意のアイテムを取得し、を使用して並べ替えsorted()、最後にを使用して結合します",".join()

In [109]: strs="1534423543"

In [110]: ",".join(sorted(set(strs)))
Out[110]: '1,2,3,4,5'
于 2012-10-22T17:52:27.897 に答える
5

Ashwini は、誰もがすぐに答えられる答えを持っています。輸入を希望する場合は...

from itertools import groupby; ','.join(k for k, g in groupby(sorted(nums)))

そして、それはほぼ1行です:)

于 2012-10-22T17:56:02.190 に答える