python 字符数组,python 3中的字符数组?

In Python 2.7 I can create an array of characters like so:

#Python 2.7 - works as expected

from array import array

x = array('c', 'test')

But in Python 3 'c' is no longer an available typecode. If I want an array of characters, what should I do? The 'u' type is being removed as well.

#Python 3 - raises an error

from array import array

x = array('c', 'test')

TypeError: cannot use a str to initialize an array with typecode 'c'

解决方案

Use an array of bytes 'b', with encoding to and from a unicode string.

Convert to and from a string using array.tobytes().decode() and array.frombytes(str.encode()).

>>> x = array('b')

>>> x.frombytes('test'.encode())

>>> x

array('b', [116, 101, 115, 116])

>>> x.tobytes()

b'test'

>>> x.tobytes().decode()

'test'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值