python - 在单个循环中追加列表的 Pithonic 方法

标签 python list

我处理 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 循环中附加的列表不受此影响,问题/警告也应该消失。

关于python - 在单个循环中追加列表的 Pithonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33144583/

相关文章:

c++ - 如何正确使用remove_if?

python - 在Python中平均分配和压缩两个不同长度的列表

c# - 在 C# 中使用列表

python - 限制整数的位数?

python - 如何在 Pandas 中组合滚动组

python - Django:如何动态加载表单到当前html页面

java - 使用 Jython 在 Java 中运行 Python 程序

python - Django 模型类中的多态性

python - 从列表中查找整数模式

c - strcmp() 来自标准输入的字符串和来自文件的字符串