关于列表中元素筛选的问题

caizhen1988911 2012-05-08 12:44:33
大家好,我有个问题想请教一下大家,我想对一个列表进行处理,除去列表中一些元素。具体如下:
m=[[1,2,3,4,5,6,7,8,9,10,11,12,13],[7,9,13,15,16,17,18,19,20,21,22,23],[17,19,20,21,22,23,24,25,26,27,28,19],[24,25,27,30,31,32,33,34,35,36,37,38,39,49,50],[3,4,5,6,7,8,33,45,46,47,56,57,58,59],[46,47,58,70,71,83,54,65,76,81,93,94],[100,101,102,103,104,105,106,107,120,121,123,125,146,147],[89,90,91,95,103,104,105,137,148,159,198,199,201]]
列表m的子列表个数还可以增加,我的目标是对列表m中的子列表进行处理,使后面的子列表不含之前子列表里面的元素,想问下大家有没有比较简单的方法,非常感谢!
...全文
63 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
caizhen1988911 2012-05-08
  • 打赏
  • 举报
回复
非常谢谢你,可以用的。
anonymous2102 2012-05-08
  • 打赏
  • 举报
回复
写得比较菜,得到的结果也没有保留原来的子列表元素的顺序,你看看能不能用。

from pprint import pprint

def main():
m=[[1,2,3,4,5,6,7,8,9,10,11,12,13],
[7,9,13,15,16,17,18,19,20,21,22,23],
[17,19,20,21,22,23,24,25,26,27,28,19],
[24,25,27,30,31,32,33,34,35,36,37,38,39,49,50],
[3,4,5,6,7,8,33,45,46,47,56,57,58,59],
[46,47,58,70,71,83,54,65,76,81,93,94],
[100,101,102,103,104,105,106,107,120,121,123,125,146,147],
[89,90,91,95,103,104,105,137,148,159,198,199,201]]
s1=[]
for i in range(len(m)):
m[i]=list(set(m[i])-set(s1))
s1.extend(m[i])
s1=list(set(s1))
pprint(m)

if __name__ == '__main__':
main()

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧