相关疑难解决方法(0)

迭代时如何从列表中删除项目?

我正在迭代Python中的元组列表,并且如果它们符合某些条件,我会尝试删除它们.

for tup in somelist:
    if determine(tup):
         code_to_remove_tup
Run Code Online (Sandbox Code Playgroud)

我应该用什么代替code_to_remove_tup?我无法弄清楚如何以这种方式删除项目.

python iteration

917
推荐指数
16
解决办法
45万
查看次数

用Python中另一个列表中的项目替换满足某些条件的列表元素

假设我有两个清单

a=[0,1,6,4,2,8] 
b=[10,20,30,40]
Run Code Online (Sandbox Code Playgroud)

我想用列表b中的项目替换列表a中介于0和4之间的元素。

换句话说,我的输出应该是

[10,20,6,30,40,8]
Run Code Online (Sandbox Code Playgroud)

请注意,从本质上讲,我们剥离a了满足特定条件的元素列表,并简单地将其替换为列表b中的一项。(b中的顺序保持不变)

编辑

我实际上知道列表中恰好有N个项目a满足条件。然后,我需要用另一个大小为N的列表b“替换”这些位置。

python

5
推荐指数
2
解决办法
565
查看次数

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

Object是一个解码的json对象,包含一个名为items的列表.

obj = json.loads(response.body_as_unicode())

for index, item in enumerate(obj['items']):
   if not item['name']:
       obj['items'].pop(index)
Run Code Online (Sandbox Code Playgroud)

我迭代这些项目,并希望在满足某个条件时删除项目.但是这没有按预期工作.经过一些研究后,我发现无法从列表中删除项目,同时在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)
Run Code Online (Sandbox Code Playgroud)

但这会删除所有项目,而不仅仅是没有名称的项目.任何想法如何解决这个问题?

python loops

1
推荐指数
2
解决办法
2395
查看次数

标签 统计

python ×3

iteration ×1

loops ×1