在Python中创建包含特定行数和列数的列表

时间:2017-11-21 20:29:34

标签: python list 2d

我有一个问题,我似乎无法做对。

我有2个号码,A& B.我需要列出一个包含B列的A行列表,然后将它们打印出来' R0CO' R0C1'等等。

代码:

import sys

A= int(sys.argv[1])

B= int(sys.argv[2])

newlist = []
row = A
col = B
for x in range (0, row): 
  newlist.append(['R0C' + str(x)])

  for y in range(0, col):
    newlist[x].append('R1C' + str(y))

print(newlist)

这不起作用。以下是我得到的输出和预期输出: 节目输出

输入程序失败:2 3 预期产出:

[['R0C0', 'R0C1', 'R0C2'], ['R1C0', 'R1C1', 'R1C2']]

您的节目输出:

[['R0C0', 'R1C0', 'R1C1', 'R1C2'], ['R0C1', 'R1C0', 'R1C1', 'R1C2']]

您的输出不正确。再试一次

3 个答案:

答案 0 :(得分:4)

您首先添加R0Cx,然后添加R1Cxy。您需要添加RxCy。所以试试:

newlist = []
row = A
col = B
for x in range (0, row): 
  newlist.append([])

  for y in range(0, col):
    newlist[x].append('R' + str(x) + 'C' + str(y))

print(newlist)

答案 1 :(得分:0)

尝试更改范围命令,如下所示:

for x in range (row): 
  for y in range(col):

事实上,您还有第二个问题,即您没有正确修改文本:

newlist = []
row = A
col = B
for x in range (row):   
    sublist = []
    for y in range(col):
        sublist.append('R{}C{}'.format(x, y))
    newlist.append(sublist)

答案 2 :(得分:0)

您必须在仍在该行中时连续填充列:

1.2

将打印:

rows = [] row = 2 col = 3 for x in range(0, row): columns = [] for y in range(0, col): columns.append('R' + str(x) + 'C' + str(y)) rows.append(columns) print(rows)