Skip to main content
 首页 » 编程设计

python之在 python 中使用 enumerate() 时从列表中删除元素

2025年05月04日9lhb25

<分区>

对象是一个解码后的 json 对象,它包含一个名为 items 的列表。

obj = json.loads(response.body_as_unicode()) 
 
for index, item in enumerate(obj['items']): 
   if not item['name']: 
       obj['items'].pop(index) 

我遍历这些项目,并希望在满足特定条件时删除一个项目。但是,这没有按预期工作。经过一番研究后,我发现无法在 python 中同时迭代此列表的同时从列表中删除项目。但是我不能将提到的解决方案应用于我的问题。我尝试了一些不同的方法,比如

obj = json.loads(response.body_as_unicode()) 
items = obj['items'][:] 
 
for index, item in enumerate(obj['items']): 
   if not item['name']: 
       obj['items'].remove(item) 

但这会删除所有项目,而不仅仅是没有名称的项目。有什么解决办法吗?