如何在不使用正则表达式的情况下从列表中的字符串打印双字母而不使用正则表达式
问题描述:
我想知道如何在不使用正则表达式的情况下在字符串列表中找到双字母的外观。以下是我到目前为止。如何在不使用正则表达式的情况下从列表中的字符串打印双字母而不使用正则表达式
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"]
答
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']
你的代码是不工作,因为:
for w in range(len(new_words)-1):
print(double_letter(new_words))
此代码你逝去的new_words
(这是一个列表)来double_letter
方法是期待一个单词。 突然word[i]== word[i+1]
变得"laal" == "mkki"
哪个是假的所以你的回报是None
你通过相同的列表两次,所以你得到2 None
。