为了在鼠尾草中编程汉明鳕鱼(基于python的编译器),我需要创建一个矩阵,其中每一列都是数字的二进制表示形式

说Hamming(3)矩阵应该像这样

0 0 0 1 1 1 1

0 1 1 0 0 1 1

1 0 1 0 1 0 1

这是数字从1到7的二进制表示形式。

所以到目前为止,我所做的就是将任何给定的数字转换为二进制表示形式:

我做了这个小功能,它需要两个值n和r

并在r位上代表n

binrep(n,r)

x=n

L=[]

LL=[]

while (n>0):

a=int(float(n%2))

L.append(a)

n=(n-a)/2

while (len(L)

L.append(0)

#print(L)

LL=L[::-1]

return LL

所以现在我想收集我得到的所有LL,并像上面的一样将它们放在一个大矩阵中

python大神给出的解决方案

您只需要将所有这些二进制表示形式转换为整数列表,将它们收集在列表列表中,然后最后transpose该列表列表即可获得所需的输出。

n = 3

binary = []

for i in range(1, 2**n):

s = binrep(i, n)

binary.append(map(int, s))

matrix = zip(*binary)

或一行:matrix = zip(*(map(int, binrep(i, n)) for i in range(1, 2**n)))

结果是

[(0, 0, 0, 1, 1, 1, 1),

(0, 1, 1, 0, 0, 1, 1),

(1, 0, 1, 0, 1, 0, 1)]

另外请注意,还有其他方法convert numbers to binary,例如使用str.format:

def binrep(n,r):

return "{0:0{1}b}".format(n, r)

python中矩阵的表示方法_在python中创建数字的二进制表示形式的矩阵 - python相关推荐

  1. java中null的使用方法_使用java中的方法避免!= null

    I want to avoid writing getView != null every time I want to use getView ? 您可以使用Null Object模式来避免在程序中 ...

  2. java中如何使用add方法_使用Java中的Calendar.add()方法将秒添加到当前日期

    为Java中的Calendar类导入以下软件包.import java.util.Calendar; 首先,创建一个Calendar对象并显示当前日期和时间.Calendar calendar = C ...

  3. 离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中)

    离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中) 参考文章: (1)离线安装python第三方库的实用方法:解决公 ...

  4. python中矩阵的表示方法_关于Python表示矩阵的方法详解

    这篇文章主要介绍了Python表示矩阵的方法,结合具体实例形式分析了Python表示矩阵的方法与相关操作注意事项,需要的朋友可以参考下 本文实例讲述了Python表示矩阵的方法.分享给大家供大家参考, ...

  5. python库文档的错误_自己编程中遇到的Python错误和解决方法汇总整理

    开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析,并持续更新,方便以后查询,学习. 知识在于积累嘛!微笑 +++++++++++++++++++++++++++++++++ ...

  6. python cls方法_关于类方法中的cls

    在python的类方法中,默认使用的第一个参数是cls,而在实例方法中,一般使用self作为第一个参数. 两处比较: (1)比较一般类方法中的self和cls的区别:一般来说,使用某个类的方法,需要先 ...

  7. python数学库的使用方法_浅谈numpy库的常用基本操作方法

    NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...

  8. python用类名直接调用方法_一文读全 Python 的面向对象编程方法

    背景介绍: Python 支持三种形式的编程,分别是:"命令式"."函数式"和"面向对象式". 很多优秀的开源 Python 项目里都用到了 ...

  9. python类的内置方法_python面向对象之类中的内置方法

    __setattr__,__delattr__,__getattr__,__getattribute__以及标准类型的二次加工 __setattr__,__delattr__,__getattr__的 ...

最新文章

  1. Selenium VS QTP
  2. linux shell 编程 12 重定向
  3. Linux 还能这么玩,10 个非常有趣的命令!
  4. 11月上旬息壤网络域名总量呈负增长 份额跌破1%
  5. xmm1是什么器件_数字电路实验指导书
  6. Mac双系统中删除Windows系统教程
  7. SparkSQL报错:UnresolvedException: Invalid call to dataType on unresolved object, tree: 'bb
  8. html5 video视频资源保护,HTML5 视频播放 video
  9. 程序抓取网站数据HttpWebRequest
  10. Nginx如何实现读写限流的方法
  11. 人大副教授从细节上教你如何快速进行研究生早期的科研之路
  12. 关于String a=new String(a)创建几个对象问题的正确答案
  13. 多频段压缩参数均衡器:Initial Audio Dynamic EQ Mac
  14. 计算机视觉论文-2021-11-02
  15. nodejs生成pdf文件
  16. 华为设备配置SEP多环
  17. 使用VMware搭建一个局域网网络拓扑
  18. shell 脚本中日期运算
  19. 台积电业绩惊人,但全球芯片行业衰退影响加剧,将加码中国市场
  20. python输入三角形的三条边、判断能否构成三角形_输入三角形三条边a,b,c,判断他们能否构成三角形...

热门文章

  1. 40个Unity游戏开发小阴招
  2. Jenkins 添加Allure报告 并发送企业微信通知
  3. What are the best ways to learn self discipline?
  4. unity大量较高尺寸的序列帧图片出包画面马赛克问题
  5. Codeforces Round #406 (Div. 1) A. Berzerk(博弈论)
  6. php中电话号码输入框,php中固定电话号码和手机号码正则表达式验证
  7. dash linux命令,Linux shell语言——dash和bash
  8. Ernest Adams总结50个最伟大的游戏创意
  9. java 复数_java 中实现复数的加减
  10. 章子怡对婚姻的憧憬:一生一世!——丹比奴