我有通过以太网端口收到的字符串,我已经解码了这个:
data, address = p1.recvfrom(1040)
text = data.decode('ascii')
stri = ''
for i in text:
stri = + ord(i)
有没有一种方法不需要循环,可以立即给我相同的字符串?
答案 0 :(得分:1)
如果您只想最小化代码,可以使用单行代码:
stri = ''.join(str(ord(c)) for c in text)
如果您真的不想使用循环,请使用map
函数:
stri = ''.join(map(lambda c: str(ord(c)),text))
答案 1 :(得分:0)
map
和ord
可以简化
这是一个例子
>>> reduce(lambda x, y: str(x)+str(y), map(ord,"hello world"))
'10410110810811132119111114108100'