如何在Python中输出移除每第三个字符后的字符串?
解决方法:移除索引能被3整除的字符
嘿,我懂你的困扰啦!你现在用word[::3]拿到的是索引能被3整除的字符(也就是从0开始数的第1、第4、第7个字符),但你真正想要的是把这些字符从原字符串里剔除,留下剩下的部分对吧?
举个例子,输入'Python'时,原字符串的索引和字符对应是:
- 0: P
- 1: y
- 2: t
- 3: h
- 4: o
- 5: n
我们需要移除索引0和3的字符,最终得到yton——这正是你要的结果。
正确的代码实现
最简洁通用的方法是用列表推导式结合enumerate()函数,它能帮我们同时获取每个字符的索引和内容,然后筛选出索引不能被3整除的字符:
word = input() new_word = ''.join([char for idx, char in enumerate(word) if idx % 3 != 0]) print(new_word)
代码解释
enumerate(word):遍历字符串时,同时返回每个字符的索引(idx)和字符本身(char)。if idx % 3 != 0:只保留那些索引除以3余数不为0的字符(也就是排除索引0、3、6...的字符)。''.join(...):把筛选后的字符列表拼接成一个完整的字符串。
测试一下:输入'Python',这段代码会输出yton,完全符合你的需求!
内容的提问来源于stack exchange,提问作者Zach Mcgregor
相关产品推荐
相关产品推荐

