找到列表中每列的最大长度

6 投票
2 回答
7735 浏览
提问于 2025-04-16 17:44

我正在使用Python 2.6,以及xlwt和pyodbc这两个模块,从MS SQL Server(2008)上的一个视图创建Excel报告。为了能够程序化地设置Excel中每个字段的正确宽度,我想获取每一列中值的最大长度。

比如说:

foo=[[1, 'This is a test',12039],[12, 'test',1235]]

这样会得到[2,14,5]

我相信一定有一个简单的解决方案,我只是没有注意到。

2 个回答

0

如果输入的列表很长,使用 itertool.izip() 可能比 zip() 更好,因为它会返回一个迭代器,而不是一个很长的列表,这样可以节省一些内存空间。

8
[max(len(str(x)) for x in line) for line in zip(*foo)]

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答