週末副業記

土日は副業エンジニアのブログです。副業に関することを投稿します。

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


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

 

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