我处理 Word 文件,收集存储在表中的一些信息。最初我有这个:
table = [[app.ActiveDocument.Tables(1).Cell(x, y).Range.Text[:-1]
for y in [3, 4]] for x in range(13, app.ActiveDocument.Tables(1).Rows.Count-2)]
在这里,我得到二维列表以进一步传递。但有时我会在一个文件中得到一组表。结构总是一样的,所以我可以使用
table += ['here's the same list as above with diffrent index in Tables']
用新数据附加我的列表并返回
。
所以现在的代码是:
table = [[]]
for tab in app.ActiveDocument.Tables:
table += [[tab.Cell(x, y).Range.Text[:-1] for y in [3, 4]] for x in range(13, tab.Rows.Count-2)]
table.remove([])
但是 pyCharm 表示分配列表并不是让事情正常进行的“好”方式。有没有更优雅的方法来创建列表并同时将其附加到循环中?我没有找到让 Python 知道我正在处理项目列表的方法,而且我不知道如何将此循环打包到 table
的初始创建中。
基本上,您对 table = [[]]
所说的是“我有一个包含空列表的列表”。
使用 table.remove([])
,您将删除该空列表。这实际上不会向您的程序添加任何内容。
如果执行 table = []
,则可以避免调用 table.remove([])
。
您在 for 循环中附加的列表不受此影响,问题/警告也应该消失。
我是一名优秀的程序员,十分优秀!