这里遇到一些困难。我的目标是从游戏板的列中读取数字,并将这些数字作为特定列表打印出来。我对列表没有多少经验,也没有正确掌握这个概念,所以我在让它们工作时遇到了一些困难。到目前为止,我所能得到的只是:
def getColumn ():
for i in range (0, 9):
row = datalist[i]
column = row[x]
column.append[i]
似乎没有正常工作,有人能指出原因吗?我真的很感激!
谢谢!
答案 0 :(得分:5)
尝试做这样的事情来使用builtins
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 ..
答案 1 :(得分:2)
这会有用吗?
col = 1
column1 = [row[col] for row in datalist]
答案 2 :(得分:2)
这是一个调整原始代码的版本:
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
必须有九行,否则您会收到错误或无法返回完整列。