2017-02-23 5 views
0

正規表現を使用せずに文字列のリストでダブル文字の見た目を知る方法を知りたいと思います。以下は私がこれまで持っていたものです。正規表現を使用せずにリスト内の文字列からダブル文字を印刷するには

word="kookss" 
new_words=["laal","mkki"] 

def double_letter(word): 
     for i in range(len(word)-1): 
      if word[i]== word[i+1]: 
       return (word[i],word[i+1]) 
print(double_letter(word)) 
for w in range(len(new_words)-1): 
     print(double_letter(new_words)) 

output : 
["OO","ss"] 
["aa"] 
["kk"] 

答えて

2
word="kookss" 
new_words=["laal","mkki"] 

def double_letter(word): 
    # each double letter found should be put in this list. 
    double_letters = [] 
    for i in range(len(word)-1): 
     if word[i]== word[i+1]: 
      double_letters.append(word[i] + word[i+1]) 
    return double_letters 

print(double_letter(word)) 

for w in new_words: 
    # for each word `w` in list `new_words` call double_letter method 
    print(double_letter(w)) 

出力:

['oo', 'ss'] 
['aa'] 
['kk'] 

あなたのコードが動作していないので:あなたはあるdouble_letter方法に(リストである)new_wordsを渡してい

for w in range(len(new_words)-1): 
     print(double_letter(new_words)) 

このコード一言を期待している。 突然word[i]== word[i+1]ので、あなたのリターンはあなたが2 Noneを取得するので、あなたは二度同じリストを渡すNone

で偽である"laal" == "mkki"になります。

関連する問題