在python中迭代每个嵌套列表的第二个值
可能是很简单的事情,但我真的有点麻烦。我有一张这样的清单:在python中迭代每个嵌套列表的第二个值,python,list,loops,nested,Python,List,Loops,Nested,可能是很简单的事情,但我真的有点麻烦。我有一张这样的清单: [[1, 2500],[3,4319],[8,3292],[3,34590]] 其中,每个嵌套列表中的第一个值是某种分数,第二个值是分数对应的用户id 我正在尝试对列表执行一些简单的算法,以删除第二个列表中的所有用户ID。但是,我发现我不能只处理每个嵌套列表的第二个元素 newlist = list(set(oldlist[][1]) - set(to_be_removed)) 我是想在括号里太有创意了,还是错过了一些非常简单的东西
[[1, 2500],[3,4319],[8,3292],[3,34590]]
其中,每个嵌套列表中的第一个值是某种分数,第二个值是分数对应的用户id
我正在尝试对列表执行一些简单的算法,以删除第二个列表中的所有用户ID。但是,我发现我不能只处理每个嵌套列表的第二个元素
newlist = list(set(oldlist[][1]) - set(to_be_removed))
我是想在括号里太有创意了,还是错过了一些非常简单的东西?在这里,使用列表理解是最简单的解决方案:
new_list = [x for x in old_list if x[1] not in to_be_removed]
在这里,使用列表理解是最简单的解决方案:
new_list = [x for x in old_list if x[1] not in to_be_removed]
像这样的
old_list = [[1, 2500],[3,4319],[8,3292],[3,34590]]
removals = set([2500, 34590])
new_list = [[x, y] for x, y in old_list if y not in removals]
像这样的
old_list = [[1, 2500],[3,4319],[8,3292],[3,34590]]
removals = set([2500, 34590])
new_list = [[x, y] for x, y in old_list if y not in removals]