我有一个名为totalist
的数组,其中包含一些内容列表。我想要做的是,totalist
的每一行检查前24个值是否为空,我不关心其余的值。
totalist
包含类似以下内容的行:
totalist = [
['stuff1', '33.0', '5.0', '165.0', '6.0', '990.0', '880.0', '95.0', '19.0', '3135.0', '4.0', '0.666666666667', '3.83333333333', '330.0', '9.5', '4.75', '3.16666666667', '225.0', '13.9333333333', '6.96666666667', '15.6666666667', '4.64444444444', 'cba', '0.1', '', '', 'test', '40.0', '3.0', '120.0', '4.0', '480.0', '480.0', '24.0', '8.0', '960.0', '', '0.0', '2.0', 'testing', '0.1', '', '', '', 'asdf', '2034', '123', '34', '23', '4', '56', 'asd', 'ok', 'cruz', 'reti', 'clip', 'twp', 'three', 'pedr', 'dcheck', '1-4'],
['stuff2', '40.0', '3.0', '120.0', '5.0', '600.0', '552.0', '24.0', '8.0', '960.0', '2.0', '0.4', '2.0', '200.0', '4.8', '2.4', '1.6', '200.0', '4.8', '2.4', '2.0', '1.6', 'qw', '0.1', '', '', 'Mec', '34.0', '6.0', '204.0', '4.0', '816.0', '714.0', '75.0', '12.5', '2550.0', '2.0', '0.5', '3.625', '123', '0.1', '', '123', 'vve', '', '4.0', '4.0', '4.0', '4.0', '8.0', '6.0', '4.0', '4.0', '6.0', '6.0', '4.0', '4.0', '4.0', '4.0', '4.0', '4.0'],
['stuff3 ', '34.0', '6.0', '204.0', '6.0', '1224.0', '1156.0', '75.0', '12.5', '3840.0', '2.0', '0.333333333333', '3.47058823529', '600.0', '6.4', '3.2', '2.13333333333', '190.0', '20.2105263158', '10.1052631579', '33.173374613', '6.73684210526', 'rem', '0.1', '', '', 'tapa', '24.0', '8.0', '192.0', '4.0', '768.0', '672.0', '73.0', '9.125', '1752.0', '2.0', '0.5', '2.78125', 'hem', '0.1', '', '', 'sock', '3.0', '', '4.0', '4.0', '4.0', '8.0', '6.0', '4.0', '4.0', '6.0', '6.0', '4.0', '4.0', '4.0', '4.0', '4.0', '4.0'],
]
例如,在第一行中,我想检查stuff1
到0.1
的值是否为空。
我正在尝试使用xrange迭代:
for i in xrange(len(totalist)):
print totalist[i]
这打印了我所有的行,但是当我从0到23迭代每一行时我卡住了。
任何帮助深表感谢。感谢
答案 0 :(得分:3)
for elem in totallist:
print all(elem[:24]) # first 24 elements are non-empty.
答案 1 :(得分:1)
xrange()
返回一个项目列表,您已定义这些项目以分析数组的每个列表;你可以用它来传递每个列表的24个第一个元素:
for sublist in totalist:
for i in xrange(24):
print sublist[i]!=""
但是,总而言之,你可以使用函数all
执行四行:
for sublist in totalist:
print all( elem!="" for elem in sublist[1:25] )
答案 2 :(得分:-1)
您可以初始化大小为len(totalist)的标志数组,并将其初始化为24,假设所有值都是最初填充的。
在前24个删除某个值的同时,您可以减少该标志并在前24个插入中增加它。
然后你可以简单地检查flag的内容,检查在O(1)时间内前24个是否为空。希望它有所帮助。