微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从for循环中的列表中删除元素

如何解决如何从for循环中的列表中删除元素

一个列表B=[('r',1),('a',2)],如果列表中有'r',则我需要以下代码删除1的整数,如果有'a',则将其添加到列表B。在我的代码中,B[1,2],但它应该是[2]

a = int(input())
B=[]
for i in range(a):
    b = (input().split())    
    if b[i][0]==['r']:
       del b[i]
    else:
        B.append( int(b[1]) )

解决方法

function funch(sel)
 {

 var a= $(sel).find("option:selected").text();
 var b= $(sel).val();
 alert('a');
 alert('b');
  }

删除了包含“ r”的数组。因为您已经在元组中,所以只是=='r'。

,

问题中bB之间存在混淆,并且由于所有变量都是使用input()初始化的,因此很难确定哪个是哪个。

这是一种可能性:

b = [('r',1),('a',2)]
B = []

for (action,value) in b:
  if action == 'a':
    B.append(value)
  elif action == 'r':
    try:
      B.remove(value)
    except ValueError:
      pass

print(B)
# [2]

See the doc on list.remove(value).

如果这不是您想要的,请澄清您的问题。

,

您可以尝试:

b = [('r',2)]
B=[j for i,j in b if i !='r']

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。