第6章操作文字列-4,5,6


最も一般的な単語


に答える
1.リストコンパイル、counterオブジェクト
リストでよく使われるテクニック(リストだけではありません).必要な部分(データ)のみを文字列から抽出します.すなわち、データ洗浄と呼ばれる前処理作業が必要である.

思考過程.


問題を見る
禁止された語を除く=禁止された語に対してinを用いる.
最も一般的な=単語をキー数にします.単語をキーにして、数値を個数にすればいいですか?
大文字と小文字を区別せず、=lower小文字を使います.
句読点を無視=単語以外の値をすべて消去します.
せめてそう思う.
ここで使いやすい部分はif文ではなく正規表現で、文字列ではこれらの部分「」のみを使用して空白に変換し、split()関数を使用して削除します.

グループエネルギーマップ


に答える
1.ソート後にディックバンナに追加

思考過程.


アルファベットでグループ化=アルファベットで、文字列の文字は同じです.set? list?
setを使用すると文字数は同じですが、数が異なると変化しません.リストを書きます
リストにして文字列にし、キーとしてdictionaryを使用します.しかし、他の単語についても同じキーを使う必要があります...ソートを使用!
では、for文を使用して各要素を参照します.dictionaryに対応するキーがない場合は、どうすればいいですか.if文を辞書に追加するべきですか?
for word in words :
	if word in dic :
    	dic["".join(sorted(word))].append(word)
    else :
    	dic["".join(sorted(word))]=[word]
こんなに塩辛いはずですが、defaultdictを学びました.dictionaryデータ型にレポートするキーがない場合、そのデータ型のデフォルト値は初期値としてキーと値を生成します.
そのため、
dic = collections.defaultdict(list)

for word in words :
	if word in dic :
    	dic["".join(sorted(word))].append(word)
上と同じです.
*문자열에 대한 sorted 함수는 자동으로 리스트화 해준다.
*sorted에 대해 key값을 부여함으로써 원하는 조건대로 정렬가능
  • 再放送
  • [dic[i] for i in dic.keys()] == dic.values()ディクショナリからキーリストを取得したい場合は、ディクショナリ.keys()値のみを取得する場合はdictionary.values(). どちらもリスト形式で返されます
  • 与えられた
  • 2''.join(sorted(s))文字列を並べ替えた後、直ちに文字列に戻ります.同じ要素を持つ値をキーとして使用します.
  • 最長のパリンドロン部分文字列


    に答える
    1.中心を中心に展開されたプール

    思考過程.