【发布时间】:2013-08-03 14:56:25
【问题描述】:
我需要一些帮助来解决这个 Python 问题。
我有一个叫做 Matrix 的表 -
Matrix = [[['23'],['47'],['35'],['-']],
[['45'],['22'],['34'],['-']],
[['11'],['43'],['22'],['-']]]
我想做的是——
如果所有单元格值都包含空值(如“-”),则删除/删除整个列。
我已经有一个函数可以通过它的索引删除整个 COLUMN,但在我这样做之前,我需要找到一种方法来知道该特定列中的每个单元格是否包含“-”,然后才能删除它。
定位“-” -
for i, row in enumerate(Matrix):
for x, col in enumerate(row):
print Matrix[i][x], i, x
输出 -
['23'] 0 0
['47'] 0 1
['35'] 0 2
['-'] 0 3
['45'] 1 0
['22'] 1 1
['34'] 1 2
['-'] 1 3
['11'] 2 0
['43'] 2 1
['22'] 2 2
['-'] 2 3
从这里我可以看到“-”确实存在于第 3 列中的每个单元格中。
我的尝试——
for i, row in enumerate(Matrix):
for x, col in enumerate(row):
if "-" in col:
print "Column to Delete is", x
附言我知道我必须反过来做,但我对这个逻辑更感兴趣。
【问题讨论】:
-
您提供的代码不是一个尝试的解决方案 - 它只是打印出数据。你需要尝试做你想做的事,然后如果你有问题,回来询问那个具体的问题。
-
但这就是我卡住的地方,我做了我的研究并没有发现任何东西。我只需要真正自己解决的逻辑。
-
如果你真的想不出最幼稚的方法来解决这个问题,我建议你在继续之前阅读一些基本的编程教程以掌握基础知识。
-
好的,我会添加我的想法。
-
我已经添加了我的想法,所以现在我可以找到“-”的位置。