我正在迭代Python中的元组列表,并且如果它们符合某些条件,我会尝试删除它们.
for tup in somelist:
if determine(tup):
code_to_remove_tup
Run Code Online (Sandbox Code Playgroud)
我应该用什么代替code_to_remove_tup?我无法弄清楚如何以这种方式删除项目.
假设我有两个清单
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“替换”这些位置。
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)
但这会删除所有项目,而不仅仅是没有名称的项目.任何想法如何解决这个问题?