- 任务:列表a_list包含四行,现在需要删除其中第三列是空("")的两行。
- Delete_Rows函数:
- 输入:列表(list);需要删除的行所包含的字段(key)
- 输出:完成删除任务后的列表
- 第一个for循环:检索表中第三列是否含有key字段,如果含有则将当前行数存放tmp_list
- tmp_list.reverse():因为后面使用了pop函数,在删行过程中如果从前往后删会造成行序数与行对应不上,所以使用反转函数从后往前删除
- 第二个for循环:使用pop函数将对应列删除(从后往前)
def Delete_Rows(list, key):
tmp_list = []
for a in range(len(list)):
print(a)
if list[a][2] == key:
tmp_list.append(a)
tmp_list.reverse()
print('tmp_list', tmp_list)
for i in tmp_list:
list.pop(i)
return list
if __name__ == '__main__':
a_list = [
['a', '123', '111', 'asd', 'sd'],
['b', '321', '', 'fds', 'sd'],
['c', '345', '', 'zxc', 'sd'],
['d', '543', '444', 'vcx', 'sd']]
a_list = Delete_Rows(a_list, "")
print('a_list', a_list)