我知道我需要使用列表理解,但对于我的生活,我无法弄清楚用什么方法来表示这一点。这种运行权的一个例子是“晚上”输出为2,一次 对于'e'和一次'n'
答案 0 :(得分:2)
列表理解给出了右边两个字母相同的字母。我们只需获取结果列表的长度:
s = "evening"
ans = len([x for x in xrange(len(s)-2) if s[x] == s[x+2]])
print ans
答案 1 :(得分:1)
s='evening'
print len([x for x,y in zip(s, s[2:]) if x==y])
输出:
2
答案 2 :(得分:0)
我很想看到比我更专业的人把它变成lc,但我的基本解决方案是
zz='evening'
for numb, letter in enumerate(zz):
if numb+2==len(zz):
break
if letter==zz[numb+2]:
count+=1
在看到迈克的回答并考虑如果输入是一个列表
之后如何foo = ['e', 'v', 'e', 'n', 'i', 'n', 'g']
new=[item for numb, item in enumerate(foo[0:-2]) if item==foo[numb+2]]
answer=len(new)
愚蠢的我,我也可以使用字符串,我认为这仍然更清洁
testString='evening'
new=[letter for numb, letter in enumerate(testString[0:-2]) if letter==testString[numb+2]]
ans=len(new)