2016-04-19 12 views
1

私はPythonで、次のような文字列のリストを持っています要件を満たす2Ts(2番目と最後のT)です。Pythonは文字列のリスト内のパターンを検索

私はこれを試しましたが、うまくいきませんでした。どうも!次の文字がDとカウンタのいくつかの並べ替えを実装した場合

  if ['T','Q'] in SS: 
       print ("yes") 

答えて

4

あなたはこの繰り返しチェックを行うことができます。おそらく最善の方法ではないかもしれませんが、これはおそらく最も細いです。

SS = ['T', 'Q', 'T', 'D', 'Q', 'D', 'D', 'Q', 'T', 'D'] 
print("".join(SS).count("TD")) 

結果:

2 
3
SS = ['T', 'Q', 'T', 'D', 'Q', 'D', 'D', 'Q', 'T', 'D'] 
print zip(SS, SS[1:]).count(('T', 'D')) 
2

単一文字列の順序が主な違いは、list方法対strされ、いずれかのあなたの特定のlistまたは複数文字列としてのように表すことができます。メソッド(tupleタイプもあります)、および変更可能性があります。

>>> SS = ['T', 'Q', 'T', 'D', 'Q', 'D', 'D', 'Q', 'T', 'D'] 
>>> SS_joined = ''.join(SS) 
>>> 'TQ' in SS_joined 
True 
0

いつでも元気にできます。

>>> import re 
>>> SS = ['T', 'Q', 'T', 'D', 'Q', 'D', 'D', 'Q', 'T', 'D'] 
>>> new = ''.join(SS) 
>>> len(re.findall('TD',new)) 
2 
関連する問題