【问题标题】:How can I extract a column and create a vector out of them?如何提取一列并从中创建一个向量?
【发布时间】:2021-06-23 00:49:36
【问题描述】:
mat = [['1', '2', '3', '4', '5'], 
       ['6', '7', '8', '9', '10'], 
       ['11', '12', '13', '14', '15']]

假设,我有这个向量的向量。

说,我需要提取每行的第二列,将它们转换为二进制,然后创建它们的向量。

不使用NumPy也可以吗?

【问题讨论】:

    标签: python matrix vector


    【解决方案1】:

    对转置列表使用 zip 并使用枚举创建循环并使用 bin() 按 id 过滤。

    mat = [['1', '2', '3', '4', '5'],
           ['6', '7', '8', '9', '10'],
           ['11', '12', '13', '14', '15']]
    
    vec = [[bin(int(r)) for r in row] for idx, row in enumerate(zip(*mat)) if idx == 1][0]
    print(vec) # ['0b10', '0b111', '0b1100']
    

    【讨论】:

      【解决方案2】:

      是的。这可以通过以下代码实现:

      mat = [['1', '2', '3', '4', '5'], 
             ['6', '7', '8', '9', '10'], 
             ['11', '12', '13', '14', '15']]
      
      def decimalToBinary(n):
          return bin(n).replace("0b", "")
      new_vect = []
      for m in mat:
          m = int(m[1])
          new_vect.append(decimalToBinary(m))
      print (new_vect)
      

      希望这是意料之中的

      ['10', '111', '1100']
      

      【讨论】:

        猜你喜欢
        • 2011-02-05
        • 1970-01-01
        • 1970-01-01
        • 2023-02-02
        • 2016-05-22
        • 1970-01-01
        • 2020-02-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多