Python中如何在for循环中跳过指定范围的字符元素
解决方法
你只需要修改列表推导式里的判断条件,覆盖b到g对应的ASCII码范围即可,b的ASCII码为98,g的ASCII码为103。
写法1:直接判断ASCII码范围
alphabet = [chr(i) for i in range(97,110) if not (98 <= i <= 103)] print(alphabet)
写法2:转字符判断(可读性更高)
如果不想记ASCII码,可以直接对转换后的字符做范围判断:
alphabet = [chr(i) for i in range(97,110) if not ('b' <= chr(i) <= 'g')] print(alphabet)
输出结果
['a', 'h', 'i', 'j', 'k', 'l', 'm']
原理解释
你原来的代码中if i!=99仅排除了ASCII码99对应的字符c,现在替换为范围排除的判断逻辑,即可一次性跳过b到g的所有字符。
内容的提问来源于stack exchange,提问作者Abdul Wahab
相关产品推荐
相关产品推荐

