2016-11-23 28 views

答えて

9

あなたが記述していることである:

>>> Str1 = ['Josephine', 'Joseph smith'] 
>>> sorted(Str1) 
['Joseph smith', 'Josephine'] 

あなたの文字列の比較は、空白を無視するためにlist.sortまたはsortedkeyを提供することができます。

>>> sorted(Str1, key=lambda x: ''.join(x.split())) 
['Josephine', 'Joseph smith'] 
+1

空白を取り除くためにかなり畳み込まれた方法は、望ましくないかもしれない改行文字を置き換えます。単に 'replace()'を使わないのはなぜですか? –

+1

@Chris_Rands [空白](https://en.wikipedia.org/wiki/Whitespace_character)には、改行(およびタブ)が含まれており、タイトルで明示的に無視されるように質問されています。 –

+0

@ZeroPiraeusよろしくお願いします –

2

あなたが代わるソートキーに渡しますすべて空白文字を含む空白文字:

Str1.sort(key=lambda k: k.replace(' ', '')) 
0

あなたはそれをこのように行うことができます。

l = sorted(l, key=lambda x:x.replace(' ', '')) 
+0

ちょうど 'sorted(my_string、key = lambda x:x.replace( ''、 ''))'は大丈夫です –

+0

@ZeroPiraeusあなたは正しいです!私の答えを編集しました、ありがとう! – neverwalkaloner

関連する問題