python删除列表里含某元素的多行

  1. 任务:列表a_list包含四行,现在需要删除其中第三列是空("")的两行。
  2. 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值