|
|
暴躁的闹钟 · 高朋滿座 [修訂本參考資料] - 成語檢視 ...· 11 月前 · |
|
|
强悍的双杠 · 56岁基努·里维斯签约漫威!将在《月光骑士》 ...· 1 年前 · |
|
|
火星上的海豚 · 在虚拟机中安装Windows server ...· 2 年前 · |
|
|
鬼畜的杨桃 · 越都社区:用契约守护幸福_绍兴网· 2 年前 · |
|
|
眼睛小的篮球 · 5本热门飞卢风好书推荐!和女总裁的协议试婚生 ...· 2 年前 · |
我想把二进制数组转换成十进制。有没有类似于这个
numpy.binary_repr
的函数可以反过来工作呢?
x = array([ 1., 1., 0., 1., 0., 0., 0., 1., 0.])
我知道我能做到:
int("110100010",2) = 418
但在这里,我需要提取数组的元素并将它们放入字符串中?有没有更简单的方法?如果没有,那么我如何提取数组的元素并从中创建一个字符串呢?
您可以使用
reduce
>>> from functools import reduce
>>> reduce(lambda a,b: 2*a+b, x)
418.0
或者,正如您所说,您可以构造一个字符串,然后将其转换为int (基数为2)
>>> int(''.join(map(lambda x: str(int(x)), x)), 2)
418
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券
|
|
鬼畜的杨桃 · 越都社区:用契约守护幸福_绍兴网 2 年前 |