假设您有一个字符串列表,如下所示:
the_list = ['02:00', ' GBP', '', 'Construction Output (MoM) (Jan)', '1.1%', '0.5%', '2.0%', '',
'02:00', ' GBP', '', 'U.K. Construction Output (YoY) (Jan)', '9.9%', '9.2%', '7.4%', '',
'02:00', ' GBP', '', 'GDP (MoM)', '0.8%', '0.2%', '-0.2%', '',
'02:00', ' GBP', '', 'GDP (YoY)', '10.0%', '9.3%', '6.0%', '',
'02:00', ' GBP', '', 'Index of Services', '1.0%', ' ', '1.2%', '']
每8个元素中就有一个出现''
,这是一个空字符串,而它恰好是一个名为GBP
的空字符串旁边的空字符串
如何更新the_list
变量以删除字符串数组中每8个元素出现一次的''
元素?
如果我理解正确,您可以使用列表理解来过滤特定索引处的值:
new_list = [word for idx, word in enumerate(the_list, 1) if idx % 8 != 0]
print(new_list)
打印:
['02:00', ' GBP', '', 'Construction Output (MoM) (Jan)', '1.1%', '0.5%', '2.0%',
'02:00', ' GBP', '', 'U.K. Construction Output (YoY) (Jan)', '9.9%', '9.2%', '7.4%',
'02:00', ' GBP', '', 'GDP (MoM)', '0.8%', '0.2%', '-0.2%',
'02:00', ' GBP', '', 'GDP (YoY)', '10.0%', '9.3%', '6.0%',
'02:00', ' GBP', '', 'Index of Services', '1.0%', ' ', '1.2%']
很简单:
del the_list[::8] # or del the_list[7::8] if you try to delete the 7th element of each line
只需使用此代码即可找到要删除的元素在这种情况下是空字符串,在python中是假字符串,因此
for x in the_list:
if not x:
the_list.remove(x)