文字列を入力してください: Python と Perl はプログラミング言語です
Python
Perl
and
are
programming
languages
入力を分割したいのですが、大文字の単語が一番上になります。私は 2 つのリストを使用することを考えています。if ステートメントを使用して単語を特定のリストに配置しようとしています。いくつかのアイデアを提案してください!
ありがとう
次のようになるため、出力例は間違っています。
Perl
Python
and
are
languages
programming
最初に大文字で並べ替えると、最初に来るため、Perl
上記の結果になります。さらに、大文字が最初に来るので、あなたは簡単に行うことができますPython
e
print "\n".join(sorted(a.split()))
望ましい結果を得るために。
編集:質問を読み直した後、私はこの修正/出力を思いついた:
print "\n".join(sorted(a.split(), key=lambda x: x >= 'a'))
出力:
Python
Perl
and
are
programming
languages
説明: Pythonの並べ替え関数は安定しています。つまり、同じ比較キーを持っている場合、要素の順序は相互に関連して保持されます。key関数は、(小文字で始まる任意の文字列)True
以上の値を割り当てます。それ以外の場合は。はより小さいと比較されるため、大文字または小文字の単語の順序を変更せずに、大文字はすべて前に移動します。'a'
False
False
True
宿題の場合は、「宿題」というタグを付けてください。とにかく、2 つのリストを使用するというアイデアは悪くありません。
.split()
、単語を取得します。for
、抽出された単語を処理します。word
が文字列変数の場合、はword[0]
その最初の文字です。それ以下の場合'Z'
は大文字の単語であり、指名手配リストに追加する必要があります。'\n'.join(lst)
単語のリストから複数行の文字列を取得するために使用します。