我试图将索引为%12=0的每个字母放入一个单独的字符串中。但由于某种原因,它会将字符串的第一个字母打印两次?仅供参考:代码是非常基本的,我不擅长编码,但正在努力改进。谢谢。在
string1 = 'nfhcizhfpntxolaqhpgvjehzsw'
final = ' '
for letter in string1:
if (string1.index(letter) % 12 == 0):
final = final + letter
print (letter)
nnos输出:
当它应该是:不
Tags:
index
返回字符串中字母的第一次出现。在由于
n
出现在第一个位置(它起作用),但也在另一个位置,第二个调用也返回0并且字母是重复的(它还有一个令人讨厌的O(n**2)
复杂度,因为它每次都从开始搜索,即使是在它工作的时候)正确的方法是:
对字符串进行切片,以从索引0开始获取每12个字符。也避免了丑陋和性能不佳的字符串连接
相关问题 更多 >
编程相关推荐