题目:去掉列表中重复的元素
分析:给定一个列表,怎么将其中重复的元素删除呢?
1.只用循环的方法:
思路:先从该列表中拿出第一个数(下标为0),再拿出第二个数(下标为1),进行比较,如果值相等,则把第二个数删掉。再拿出第三个数(下标为2),与第一个数比较,如果不相等,则继续取元素。以此类推:
#coding:utf-8
li = [1,2,3,4,5,2,1,3,4,57,8,8,9]
print li
i = 0
j = 1
while i < len(li):
j = i + 1
while j < len(li):
if li[i] == li[j]:
del li[j]
continue
j = j + 1
i = i + 1
print li
2.用函数来做:
思路:将列表用sort函数重新排序后,计算各元素在该列表中的个数,如果个数大于1,则将该元素删除,最后输出列表。count函数用来计算相同元素的个数。
li = "abcd"*10
li = list(li)
li.sort()
print li
i = 0
for s in li:
print i,s
while li.count(s) > 1:
li.remove(s)
i = i + 1
print li
3.用集合的方式:
思路:大家都知道集合的特征,无序,不重复,所以用set函数就很简单了。
a = [2,3,4,5,2,3,4,5,6,7,]
c = list(set(a))
print c