可能真的很简单,但我遇到了一些麻烦。我有一个类似的列表:
[[1, 2500],[3,4319],[8,3292],[3,34590]]
其中每个嵌套列表中的第一个值是某种分数,第二个值是分数对应的用户ID。
我正在尝试对列表执行一些简单的算术,以删除第二个列表中的所有用户ID。但是,我发现我不能只解决每个嵌套列表的第二个元素。
newlist = list(set(oldlist[][1]) - set(to_be_removed))
我是否试图用括号来创造性,或者我只是错过了一些非常简单的东西?
答案 0 :(得分:2)
使用列表推导将是最简单的解决方案:
new_list = [x for x in old_list if x[1] not in to_be_removed]
答案 1 :(得分:1)
这样的东西?
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]