Сортировка букв одной строки в Python?

x = 'yellow'
print(sorted(x))

возвращает

['e', 'l', 'l', 'o', 'w', 'y']

Что я хочу вернуть

ellowy

Как я запускал, я возвращаю 'ellowy' без букв, входящих в список?

Ответ 1

Фактически sorted() при использовании в строке всегда возвращает список отдельных символов. поэтому вы должны использовать str.join(), чтобы вывести строку из этого списка.

>>> x = 'yellow'
>>> ''.join(sorted(x))
'ellowy'

Ответ 2

Метод join() строки объединяет каждый элемент его аргумента с копиями заданного строкового объекта в качестве разделителя между каждым элементом. Многие люди находят этот странный и противоречивый способ делать что-то, но, присоединяя элементы с пустой строкой, вы можете преобразовать список строк в одну строку:

x = 'yellow' 
print(''.join(sorted(x)))

Ответ 3

x = 'yellow' 
print(''.join(sorted(x)))

Ответ 4

Если вы хотите, чтобы Guido ненавижу, попробуйте:

reduce(lambda l,r: l+r, sorted(x))

; -)

в python 3 вам нужно будет импортировать его из пакета functools