x = 'yellow'
print(sorted(x))
戻り値
['e', 'l', 'l', 'o', 'w', 'y']
返してほしいもの
エロい
'ellowy'
文字がリストにない状態で返すようにするにはどうすればよいですか?
実際sorted()
、文字列で使用すると、常に個々の文字のリストが返されます。str.join()
したがって、そのリストから文字列を作成するために使用する必要があります。
>>> x = 'yellow'
>>> ''.join(sorted(x))
'ellowy'
文字列のjoin()
メソッドは、引数の各要素を、指定された文字列オブジェクトのコピーを各項目間の区切り文字として結合します。多くの人は、これを奇妙で直感に反する方法だと思っていますが、要素を空の文字列で結合することにより、文字列のリストを単一の文字列に変換できます。
x = 'yellow'
print(''.join(sorted(x)))
x = 'yellow'
print(''.join(sorted(x)))
グイドに嫌われたい場合は、次のことを試してください。
reduce(lambda l,r: l+r, sorted(x))
;-)
Python 3 では、functools パッケージからインポートする必要があります。