(Python)字符串打印的第一个字母twi

2024-09-30 06:28:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将索引为%12=0的每个字母放入一个单独的字符串中。但由于某种原因,它会将字符串的第一个字母打印两次?仅供参考:代码是非常基本的,我不擅长编码,但正在努力改进。谢谢。在

string1 = 'nfhcizhfpntxolaqhpgvjehzsw'

final = ' '

for letter in string1:
    if (string1.index(letter) % 12 == 0):
        final = final + letter
        print (letter)

nnos输出:

当它应该是:不


Tags: 字符串代码in编码forindexif字母
1条回答
网友
1楼 · 发布于 2024-09-30 06:28:10

index返回字符串中字母的第一次出现。在

由于n出现在第一个位置(它起作用),但也在另一个位置,第二个调用返回0并且字母是重复的(它还有一个令人讨厌的O(n**2)复杂度,因为它每次都从开始搜索,即使是在它工作的时候)

正确的方法是:

string1[::12]

对字符串进行切片,以从索引0开始获取每12个字符。也避免了丑陋和性能不佳的字符串连接

相关问题 更多 >

    热门问题