我有一个python列表,其中包含用户ID,团队ID和活动ID,如下所示 实际上这些是使用游标从mysql数据库中提取并转换为列表的记录
((18459L, 1152L, 9494L), (9097L, 580L, 6243L), (14641L, 580L, 9394L))
(18459L,1152L,9494L)是一个元素,假设我要从列表中删除具有用户标识值18459L的所有元素如何执行此类删除操作的任何想法建议相同。
答案 0 :(得分:0)
您可以使用简单的列表理解
A = ((18459L, 1152L, 9494L), (9097L, 580L, 6243L), (14641L, 580L, 9394L))
print tuple([i for i in A if i[0] != 18459L])
输出:
((9097L, 580L, 6243L), (14641L, 580L, 9394L))
如果要删除多个用户,请使用以下代码段:
toRemove = [18459L, 18451L, 18452L]
A = ((18459L, 1152L, 9494L), (9097L, 580L, 6243L), (14641L, 580L, 9394L), (18451L, 1152L, 9494L), (18452L, 1152L, 9494L))
print tuple([i for i in A if i[0] not in toRemove])
答案 1 :(得分:0)
您也可以使用filter()
执行此操作:
>>> lst = (('18459L', '1152L', '9494L'), ('9097L', '580L', '6243L'), ('14641L', '580L', '9394L'))
>>> tuple(filter(lambda x: x[0] != '18459L', lst))
(('9097L', '580L', '6243L'), ('14641L', '580L', '9394L'))