嗨,我需要一个能做同样工作的def:
st = "c.cl"
print("".join(format(ord(x), 'b')for x in st) )
但我不能使用列表理解和按位xor。我一直在思考,我不知道
答案 0 :(得分:1)
你只需将它包装在一个函数中。
def get_bits(s):
return "".join(map(lambda x: format(ord(x), 'b'), s))
使用它:
>>> get_bits("c.cl")
'110001110111011000111101100'
答案 1 :(得分:1)
如gefei所述,您可以使用循环来替换列表理解。
def convert(some_string):
_return = ""
for char in some_string:
_return += format(ord(char), 'b')
return _return
print convert("cheese")
答案 2 :(得分:0)
那样的东西呢?
def binary (str):
b = []
for x in str:
b.append(format(ord(x), 'b')
return "".join(b)
答案 3 :(得分:0)
可能是这个吗?
def convert(s):
r = ""
for c in s:
r += "{0:b}".format(ord(c))
return r
答案 4 :(得分:0)
理解:
[format(ord(x), 'b') for x in st]
可以改写为:
map(lambda x: format(ord(x), 'b'), st)