自己在解下面这个题目时,遇到了这个问题。
先说一下这个问题的解决办法:
假设删除列表m中的所有k值
while k in m:
m.remove(k)
自己顺便记录一下解题历程,下面是题目的输入输出要求
输入描述:
包括三行:
第一行输入数据个数n (3≤n≤100);
第二行依次输入n个整数,用空格分隔;
第三行输入欲删除数据m。
输出描述:
包括两行:
第一行输出完成删除后的单链表长度;
第二行依次输出完成删除后的单链表数据。
解答:
n=int(input())
m=list(map(int, input().split()))
k=int(input())
while k in m:
m.remove(k)
print(len(m))
for i in m:
print(i,end=' ')
在删除元素的部分,自己首先使用了remove和pop函数,但是只能删除列表中的第一个指定元素。并且使用for in 循环也不能解决这个问题。最后在查找了大神的笔记之后,使用while实现了题目要求。