python – 根据特定值删除List中的索引
发布时间:2020-12-20 11:08:27 所属栏目:Python 来源:网络整理
导读:我想解决以下问题: 返回数组中数字的总和,返回0表示空数组.除了数字13是非常不吉利的,因此它不计算在13之后立即出现的数字也不计算. 这就是我所拥有的,这里的想法是13和1(在它之后)被删除然后剩下的数字相加.我遇到的问题是删除部分,实际上并没有删除任何内
我想解决以下问题:
返回数组中数字的总和,返回0表示空数组.除了数字13是非常不吉利的,因此它不计算在13之后立即出现的数字也不计算. 这就是我所拥有的,这里的想法是13和1(在它之后)被删除然后剩下的数字相加.我遇到的问题是删除部分,实际上并没有删除任何内容.这是语法问题吗? x = [1,2,1,13,1] def sum13(nums): for i in nums: if i == 13: del nums[i:i+1] return sum(nums) print(sum13(x)) 20 <-- should be 6 解决方法
你的问题与索引有关.我是列表中的数字,而不是索引.
这是解决问题的方法: x = [1,1] def sum13(nums): for i,num in enumerate(nums): if num == 13: del nums[i:i+2] # This removes the index i and the index i+1 return sum(nums) print(sum13(x)) >>> 6 编辑: def sum13(nums): for i,num in enumerate(nums): if num == 13: stop_cut = i + 1 while nums[stop_cut] == 13: stop_cut += 1 del nums[i:stop_cut+1] return sum(nums) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容