Сортировка элементов в строке с помощью Python - PullRequest
8 голосов
/ 08 апреля 2010

Мне нужно отсортировать строку, и я придумал следующую функцию.

def mysort(comb_): 
    str = [] 
    size = len(comb_) 
    for c in comb_: 
        str.append(c) 
    str.sort() 
    return ''.join(str) 

Есть ли способ сделать его компактным?

Ответы [ 4 ]

20 голосов
/ 08 апреля 2010
return ''.join(sorted(comb_))
3 голосов
/ 08 апреля 2010
def sortstr(comb_):
    return ''.join(sorted(comb_))

e: f; b: (

2 голосов
/ 22 июня 2012

Если вы хотите вернуть строку, сделайте это:

def sort_string(string):
    return "".join(sorted(string))

Но если вы хотите вернуть список, сделайте следующее:

def sort_string(string):
    return sorted(string)
1 голос
/ 03 ноября 2012
def sort_string(s):
    def sort_string_to_a_list(s):
        return sorted(s, lambda x,y: cmp(x.lower(), y.lower()) or cmp(x,y))
    sorted_list = sort_string_to_a_list(s)
    return ''.join(sorted_list)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...