我试图将每个索引为%12 = 0的字母放入一个单独的字符串中。但由于某种原因,它会继续打印字符串的第一个字母两次?仅供参考:代码非常基本,我不擅长编码,但试图变得更好。感谢。
string1 = 'nfhcizhfpntxolaqhpgvjehzsw'
final = ' '
for letter in string1:
if (string1.index(letter) % 12 == 0):
final = final + letter
print (letter)
输出以下内容:nnos
应该是:nos
答案 0 :(得分:8)
index
会返回字符串中第一个出现的字母。
由于n
出现在第一个位置(它有效)但也出现在另一个位置,第二个调用也返回0并且字母重复(它也有一个令人讨厌的{{ 1}}复杂性,因为它每次都从头开始搜索,即使它有效)
正确的方法是:
O(n**2)
将字符串切片以从索引0开始获取每个第12个字符。同时避免丑陋且表现不佳的字符串连接