有一个列表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]) )
答案 0 :(得分:1)
function funch(sel)
{
var a= $(sel).find("option:selected").text();
var b= $(sel).val();
alert('a');
alert('b');
}
删除了包含“ r”的数组。因为您已经在元组中,所以只是=='r'。
答案 1 :(得分:1)
问题中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)
.
如果这不是您想要的,请澄清您的问题。
答案 2 :(得分:0)
您可以尝试:
b = [('r', 1), ('a', 2)]
B=[j for i,j in b if i !='r']