我處理的是收集表格中存儲的一些信息的Word文件。最初我有這樣的:Pithonic在單個循環內添加列表的方式
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)]
這裏我得到2d列表進一步傳遞。但有時我會在一個文件中得到一組表格。結構總是相同的,所以我可以使用
table += ['here's the same list as above with diffrent index in Tables']
要追加我的清單新數據和return
。
所以代碼現在是:
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說assinging名單是不是一個「好」的方式把事情的工作。有沒有一種更優雅的方式來創建列表並同時將其附加到循環中?我沒有看到讓Python知道我正在處理項目列表的方法,並且我不知道如何在最初創建table
時打包此循環。
如果你使用'table = []' –
,你可以避免調用'table.remove([])'謝謝!現在我更接近簡單的代碼。警告也消失了,看起來像解決了這個問題。 –