嗨,我需要一个与此功能相同的 def:
st = "c.cl"
print("".join(format(ord(x), 'b')for x in st) )
但我不能使用列表理解和按位异或。我一直在想,我不知道
嗨,我需要一个与此功能相同的 def:
st = "c.cl"
print("".join(format(ord(x), 'b')for x in st) )
但我不能使用列表理解和按位异或。我一直在想,我不知道
您只需要将它包装在一个函数中。
def get_bits(s):
return "".join(map(lambda x: format(ord(x), 'b'), s))
使用它:
>>> get_bits("c.cl")
'110001110111011000111101100'
正如 gefei 所提到的,您可以使用循环来替换列表推导。
def convert(some_string):
_return = ""
for char in some_string:
_return += format(ord(char), 'b')
return _return
print convert("cheese")
那么有这样的事情吗?
def binary (str):
b = []
for x in str:
b.append(format(ord(x), 'b')
return "".join(b)
可能是这个?
def convert(s):
r = ""
for c in s:
r += "{0:b}".format(ord(c))
return r
领悟:
[format(ord(x), 'b') for x in st]
可以改写为:
map(lambda x: format(ord(x), 'b'), st)