迭代python中每个嵌套列表的第二个值

时间:2012-06-19 20:10:08

标签: python list loops nested

可能真的很简单,但我遇到了一些麻烦。我有一个类似的列表:

[[1, 2500],[3,4319],[8,3292],[3,34590]]

其中每个嵌套列表中的第一个值是某种分数,第二个值是分数对应的用户ID。

我正在尝试对列表执行一些简单的算术,以删除第二个列表中的所有用户ID。但是,我发现我不能只解决每个嵌套列表的第二个元素。

newlist = list(set(oldlist[][1]) - set(to_be_removed))

我是否试图用括号来创造性,或者我只是错过了一些非常简单的东西?

2 个答案:

答案 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]