Python 如何从列表中删除元素并在If语句中返回更新后的列表
在以下代码中,用户输入N对输入,每次用户输入值Python 如何从列表中删除元素并在If语句中返回更新后的列表,python,list,for-loop,if-statement,Python,List,For Loop,If Statement,在以下代码中,用户输入N对输入,每次用户输入值2,应删除最近的一对(非整数),并更新列表。假设输入列表是lis=[(1,97),2,(1,20),2,(1,26),(1,20),2]。因此,最终更新的输出应该是lis=[(1,26)]。我的代码将所有对存储在lis中,不删除元素。请注意,我需要修改自己的代码,而不是完全不同的代码 N = int(input()) lis=[] for i in range(N): b = (input().split()) if len(b)==
2
,应删除最近的一对(非整数),并更新列表。假设输入列表是lis=[(1,97),2,(1,20),2,(1,26),(1,20),2]
。因此,最终更新的输出应该是lis=[(1,26)]
。我的代码将所有对存储在lis中,不删除元素。请注意,我需要修改自己的代码,而不是完全不同的代码
N = int(input())
lis=[]
for i in range(N):
b = (input().split())
if len(b)==2:
lis.append(b)
if b == 2:
del lis[0]
lis.append(lis)
试试这个-
N = int(input())
lis=[]
for i in range(N):
b = (input().split())
if len(b)==2:
lis.append(b)
if b[0] == 2:
lis.remove(lis[-1])
remove()
将从列表中删除最后一个元素。在您的情况下,输出将是-
[(1, 26)]
那么,最近的对不是最后的吗?而且,您应该使用
.pop(index)
删除元素。我觉得在输入另一个值之前不应该添加分割值,或者在输入2时放弃分割值。这样,你就不会删除任何东西是的,我想删除最近的一个。爸爸不为我的案子工作。