相关疑难解决方法(0)

迭代python3中的各个字节

bytes在Python 3中迭代对象时,可以将个体bytes作为ints:

>>> [b for b in b'123']
[49, 50, 51]
Run Code Online (Sandbox Code Playgroud)

如何获得1长度的bytes对象?

以下是可能的,但对于读者来说不是很明显,并且很可能表现不好:

>>> [bytes([b]) for b in b'123']
[b'1', b'2', b'3']
Run Code Online (Sandbox Code Playgroud)

python python-3.x

43
推荐指数
6
解决办法
3万
查看次数

为什么在索引字节时得到一个int?

我试图在python 3.4中获取字节串的第一个字符,但是当我将其编入索引时,我得到一个int:

>>> my_bytes = b'just a byte string'
b'just a byte string'
>>> my_bytes[0]
106
>>> type(my_bytes[0])
<class 'int'>
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎不直观,正如我期待的那样b'j'.

我发现我可以获得我期望的价值,但这对我来说感觉就像是一个黑客.

>>> my_bytes[0:1]
b'j'
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么会这样吗?

python python-3.x

20
推荐指数
1
解决办法
3092
查看次数

标签 统计

python ×2

python-3.x ×2