我有一个数组arr = [07,10,11,05]。 我实际上希望将这些值转换为十六进制并将其发送给函数。我知道我可以将值分别转换为十六进制,例如hex(arr [0]),hex(arr [1])等。我现在正在做的是将数组转换为 手动将unicode设置为arr = [u'07 0a 0b 05'],然后发送给对我有用的功能。但是当我必须像
一样在arr中发送数百个unicode字符串时,这太不切实际了。arr = [u'a3 06 06 01 00 01 01 00',
u'a3 06 06 02 00 01 02 00',
u'a3 06 06 03 00 01 03 00',
u'a3 06 06 04 00 01 04 00',
u'a3 06 06 05 00 01 05 00',
u'a3 06 06 06 00 01 06 00',
u'a3 06 06 07 00 01 07 00']
我正在使用循环一一发送(arr [i])。有没有一种方法可以将整数数组动态转换为unicode并将其发送到易于接受此类unicode字符串的外部函数?
答案 0 :(得分:0)
您正在寻找' '.join(map(hex,arr))
吗?
更具体地说:
import numpy as np
a = np.array([[1,2,3],[6,11,23]])
def strip_hexstring(s):
return s.strip('0x').strip('L')
def format_line(line):
return u'{}'.format(' '.join(map(strip_hexstring,map(hex,line))))
arr = [format_line(a[i,:]) for i in range(a.shape[0])]
如有必要,可以像示例中那样用零填充。