测试python3字节对象中ASCII字符的最佳方法
我有一个bytes对象,想测试一个特定的ASCII字符是否位于特定的位置 我非常喜欢这样写代码测试python3字节对象中ASCII字符的最佳方法,python,string,python-3.x,Python,String,Python 3.x,我有一个bytes对象,想测试一个特定的ASCII字符是否位于特定的位置 我非常喜欢这样写代码 if b[i] == b"\n": 问题是这不起作用,在对repr进行一些实验后发现,当索引字符串生成字符串时,索引字节生成数字,而将数字与字节进行比较总是返回false 我通过做以下操作来修复此问题 if b[i] == b"\n"[0]: 我意识到我也能做到 if b[i:i+1] == b"\n": 有没有理由选择一种方法而不是另一种 是否有更简洁的解决方案?也许可以使用更简洁的解决方案,
if b[i] == b"\n":
问题是这不起作用,在对repr进行一些实验后发现,当索引字符串生成字符串时,索引字节生成数字,而将数字与字节进行比较总是返回false
我通过做以下操作来修复此问题
if b[i] == b"\n"[0]:
我意识到我也能做到
if b[i:i+1] == b"\n":
有没有理由选择一种方法而不是另一种
是否有更简洁的解决方案?也许可以使用更简洁的解决方案,它返回一个码点(整数): 也就是说,使用切片的方法也很好。请注意,切出边界会返回一个空字符串,而不是触发
索引器
>>> ord(b'\n')
10