如何解决如何从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'。
,问题中b
和B
之间存在混淆,并且由于所有变量都是使用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 举报,一经查实,本站将立刻删除。