Ответ 1
Фактически sorted()
при использовании в строке всегда возвращает список отдельных символов.
поэтому вы должны использовать str.join()
, чтобы вывести строку из этого списка.
>>> x = 'yellow'
>>> ''.join(sorted(x))
'ellowy'
x = 'yellow'
print(sorted(x))
возвращает
['e', 'l', 'l', 'o', 'w', 'y']
Что я хочу вернуть
ellowy
Как я запускал, я возвращаю 'ellowy'
без букв, входящих в список?
Фактически sorted()
при использовании в строке всегда возвращает список отдельных символов.
поэтому вы должны использовать str.join()
, чтобы вывести строку из этого списка.
>>> x = 'yellow'
>>> ''.join(sorted(x))
'ellowy'
Метод join()
строки объединяет каждый элемент его аргумента с копиями заданного строкового объекта в качестве разделителя между каждым элементом. Многие люди находят этот странный и противоречивый способ делать что-то, но, присоединяя элементы с пустой строкой, вы можете преобразовать список строк в одну строку:
x = 'yellow'
print(''.join(sorted(x)))
x = 'yellow'
print(''.join(sorted(x)))
Если вы хотите, чтобы Guido ненавижу, попробуйте:
reduce(lambda l,r: l+r, sorted(x))
; -)
в python 3 вам нужно будет импортировать его из пакета functools