読者です 読者をやめる 読者になる 読者になる

aisaka.com

自分が知りたかったこと・日々の思考・共有したいニュースを発信

単語の集合で条件に一致したら"True"[Python 3.0]

Everything is practice.

f:id:aisakakun:20160219231359j:plain

 

ある単語が別の単語の末尾であるような単語の対があるかどうか調べるという場合、

例えば、文字列の集合

word = {"IIIII","KOKOKO","SAsta","sta"}

があり、"sta""SAsta"の末尾であるため、結果は"True(真)"となります。

それで私が作成したコードがこれです。

 any(m != w and re.search(str(m+"$"),w) for w in word)

re.serch( a,b )は、baが一致したら"True"と返すのですが、

今回注目は"$"です。

上の例において、"m""lllll"から順々に代入されていき、

m"$"を結合します。

"$"は、文字列のmが末尾にあるということを指します。

そのため、今回の問題を解くために使用しました。

 

any( ) は一回でも"True"が出力された場合、"True"と出力する関数です。

という感じですね。

 

これと同様のことを数行で書いてあるのがこれです。

 

またまたわからないものが...

 

starmap,permutations,endswith

 

後日、追記します。(すいません。)