以下是我尝试的代码:
def filter_list(lst):
for l in lst:
print(l)
if isinstance(l, str):
lst.remove(l)
return lst
print(filter_list([1, 2, "aasf", "1", "123", 123]))
我收到了以下输出:
C:\Users\acain\PycharmProjects\gfn\venv\Scripts\python.exe C:/Users/acain/PycharmProjects/gfn/experiment.py
1
2
aasf
123
[1, 2, '1', 123]
Process finished with exit code 0
我不明白为什么字符串“1”和“123”没有打印出来。请帮帮我
当您在同一for循环中打印和使用实例时,它不会打印“1”和“123”,即。
for l in lst: print(l)
它将打印所有项目 但是在这个循环中,您使用的是isinstance(l,str)。正在移除项目。 请尝试以下代码:-
输出:- $python hello2.py
一,
二,
aasf
一,
123
123
[1,2,1,123]
here in this image is the code and the output
我希望这对你有用
如果要在修改列表时对其进行迭代,请尝试以下操作:
这样,每次迭代要么缩短列表,要么推进指针
值得注意的是,这并不被认为是过度的“Pythonic”。列表理解将提供更紧凑的代码,在许多情况下,结果也同样好
相关问题 更多 >
编程相关推荐