二进制数列表



我用Python编写了以下程序:

s = []
for e in random_key:
s = str(e)
print(s)

,其中列表random_key为

random_key = ['0011111011100101', '0000010111111011', '0011100110110100', 
'1000010101010010', '0011001011001111', '1101101101110011', 
'1100001111111011', '0000100000110100', '0101111010100101', 
'1001100101100001']

程序输出为

1111011010110011 
1011000110011100 
0011011001100010 
0000011100100001 
1111111010000100 
0110110101100011 
1011100011000101 
1011101011100010 
1101101101001010 
1000011110110000 

是不正确的。我如何修复代码?

如果我能读懂你的想法(不确定…)。你想让它们以10为基数吗?

random_key = ['0011111011100101', '0000010111111011', '0011100110110100',
'1000010101010010', '0011001011001111', '1101101101110011',
'1100001111111011', '0000100000110100', '0101111010100101',
'1001100101100001']
numbers = [int(x, 2) for x in random_key]
print(numbers)

输出
[16101, 1531, 14772, 34130, 13007, 56179, 50171, 2100, 24229, 39265]

你是这个意思吗?

s = list()
for e in random_key:
s.append(str(e))
print(s)

的回报:

['0011111011100101', '0000010111111011', '0011100110110100', '1000010101010010', '0011001011001111', '1101101101110011', '1100001111111011', '0000100000110100', '0101111010100101', '1001100101100001']

最新更新