按照入门教程中的作法,删除相同元素,一般用集合set,但是只能针对列表的元素能hashable的情况下才能使用这种方法。
其实可以使用这样的代码来删除重复元素,也很精简。
代码如下所示:
点击(此处)折叠或打开
- >>> a = [['a', 'b', 'c'],['d', 'e', 'f'],['g', 'h', 'i'],['a', 'b', 'c']]
- >>> a = [a[i] for i in range(len(a)) if a[i] not in a[:i]]
- >>> a
- [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']]
- >>>
备忘
使用a[-1::-1]可以得到一个a列表倒序的列表复本,而使用reversed(a)得到的是一个倒序的迭代器。
此外,reversed('abc')得到的是一个迭代器,而‘abc'[-1::-1]得到的是一个倒序的字符串'cba'。
此外在循环的过程中最好不要对迭代器进行操作,如果必须对迭代器进行操作,可以用a.copy(),;a[:]做为迭代器。
阅读(2203) | 评论(0) | 转发(0) |