我有一个嵌套列表,其中包含填充字符串的列表。我想做的是使该嵌套中的每个列表的长度与该嵌套中最长的可用列表的长度相同。这听起来很容易,但我的尝试失败了(我对编程完全陌生),并且我找不到相对足以解决我的问题的答案。
首先,我确定最长列表的长度:
maxSS7 = max(len(i) for i in ssValues7))
然后,如果每个列表的长度与最长列表的长度不同,我使用 for 循环将每个列表扩展一定量的“null”:
for row in ssValues7:
if row < len(maxSS7):
row.extend(['null' * (len(maxSS7) - len(row))])
我将行扩展为“null”* 最长列表和当前列表之间的差异。没有发生错误,但不幸的是它似乎对我的嵌套列表没有任何作用。
有人可以告诉我我的错误吗?任何帮助将不胜感激。
表达方式'null' * (len(maxSS7) - len(row))
创造one可能很长的字符串。
Use
row.extend('null' for _ in xrange(maxSS7 - len(row)))
反而。生成器表达式可以让您避免创建额外的列表对象来扩展row
.
>>> ['null' * 2]
['nullnull']
>>> ['null' for _ in xrange(2)]
['null', 'null']
But the .extend
调用本身永远不会到达,因为你if
声明正在测试错误的东西;将其更改为:
if len(row) < maxSS7:
maxSS7
已经是一个数字(最长列表的长度);询问该数字的长度并不是您想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)