【问题标题】:I want to create a 2d list with its rows and columns taken as input and its elements being the product of row and column numbers我想创建一个二维列表,其行和列作为输入,其元素是行号和列号的乘积
【发布时间】:2021-03-05 00:56:57
【问题描述】:

这是我编写的代码,但我无法想办法将列表中的值更改为行号和列号的乘积

r = int(input("Input number of rows: "))
c = int(input("Input number of columns: "))
multi_list = [[1 for col in range(1, c+1)] for row in range(1, r+1)]

for row in range(1, r):
    for col in range(1,r):
        multi_list[row][col] = r*c

for inner_list in multi_list:
    for val in inner_list:
        print(val, end=' ')
    print()

【问题讨论】:

    标签: python list matrix input rows


    【解决方案1】:

    您的第一个循环必须更正如下:

    for row in range(1, r+1):
        for col in range(1,c+1):
            multi_list[row-1][col-1] = row*col
    

    【讨论】:

      【解决方案2】:

      你有两个选择,

      1. 列表理解。
      2. for 循环。

      列表理解解决方案:

      row = int(input("Input number of rows: "))
      col = int(input("Input number of columns: "))
      #        [[        COL                   ]       ROW                 ]
      matrix = [[r*c for c in range(1, col + 1)] for r in range(1, row + 1)]
      

      假设有 2 行 5 列
      1。列表理解:

      from pprint import pprint
      row, col = 2, 5
      matrix = [[r*c for c in range(1, col + 1)] for r in range(1, row + 1)]
      pprint(matrix, indent=4, width=25)
      [   [1, 2, 3, 4, 5],
          [2, 4, 6, 8, 10]]
      

      2。另一个选项是 for 循环:

      from pprint import pprint
      row, col = 2, 5
      
      matrix = []
      for r in range(1, row + 1):
          m.append([])  # add new row
          for c in range(1, col + 1):
              m[c-1].append(r*c)
              # m[-1].append(r*c)  # this will work too.
      
      pprint(matrix, indent=4, width=25)
      [   [1, 2, 3, 4, 5],
          [2, 4, 6, 8, 10]]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        相关资源
        最近更新 更多