比如说,我有这样一个数组[1,1,0,1,0,1,1,1,1],我怎样把他打印为110101111,最好是int型
推荐题主两种方法。方法1:
>>> arr = [1,1,0,1,0,1,1,1]
>>> arr_str = map(lambda x:str(x), arr) # 将列表元素由整型变成字符,返回迭代对象
>>> v_str = ''.join(arr_str) # 拼成字符串
>>> v_str
'11010111'
>>> int(v_str, base=2) # 二进制字符串转整型
215
方法2:
>>> arr = [1,1,0,1,0,1,1,1]
>>> v, k = 0, len(arr)
>>> for i in range(k):
v += arr[i] * pow(2, k-i-1)
>>> v
215
>>> print(bin(v))
0b11010111
>>> print(bin(v)[2:])
11010111
print函数增加end=''参数 for t in list0:print(t,end='')
list1 = [1,1,0,1,0,1,1,1,1]
num = 0
for i in list1[::-1]:
num = num*10 + i
print(num)
输出:
111101011