这里有一些困难。我的目标是从游戏板的列中读取数字并将这些数字打印为特定列表。我对列表没有太多经验,也没有正确掌握这个概念,所以我很难让它们起作用。到目前为止,我能想到的只有这样:
def getColumn ():
for i in range (0, 9):
row = datalist[i]
column = row[x]
column.append[i]
好像不能正常工作,谁能指出原因?我真的很感激!
谢谢!
这里有一些困难。我的目标是从游戏板的列中读取数字并将这些数字打印为特定列表。我对列表没有太多经验,也没有正确掌握这个概念,所以我很难让它们起作用。到目前为止,我能想到的只有这样:
def getColumn ():
for i in range (0, 9):
row = datalist[i]
column = row[x]
column.append[i]
好像不能正常工作,谁能指出原因?我真的很感激!
谢谢!
尝试做这样的事情来使用内置
rows = [[1,2,3],[4,5,6],[7,8,9]]
cols = zip(*rows)
print cols[0] #column 0 ....
或者更好地使用 numpy
import numpy as np
my_board = [[1,2,3],[4,5,6],[7,8,9]]
np_ar = np.array(my_board)
print np_ar[:,2] #print column 2 ..
这行得通吗?
col = 1
column1 = [row[col] for row in datalist]
这是一个调整原始代码的版本:
datalist = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
def getColumn(col_num, data):
column = []
for i in range (0, len(data)):
row = data[i]
column.append(row[col_num])
return column
这使:
getColumn(1, datalist)
Out[9]: [2, 5, 8]
您的原始代码存在一些问题:
getColumn
你想要哪一列——你需要把它作为你的函数的参数getColumn
依赖于有一个名为datalist
. 将数据作为参数传递更安全。datalist
必须恰好有九行,否则您会收到错误或无法返回完整的列。