去除一个列表中的重复数据

简单的方法就是用set:
a = ['a','b','b','c','c','d']
b = list(set(a))
print b

['b', 'd', 'c', 'a']

但是这样原来的序列就被打乱了。这就用到了sort方法:

a = ['a','b','b','c','c','d']
b = list(set(a))
b.sort(key=a.index)
print b

['a', 'b', 'c', 'd']

或者是:
c = sorted(set(a),key=a.index)

c
['a', 'b', 'c', 'd']

a = ['a', 'b', 'b', 'c', 'c', 'd']
b = list(set(a))
b.sort(key=a.index)  # 没有返回值 直接改变的是b的值
print(b)

按照字典的key进行排序

list=[{"a":5,"b":2},{"a":1,"b":12},{"a":7,"b":22}]

按照字典a的值对列表进行排序:

new_list=sorted(list,key=lambda k:k["a"])

python sort() sorted() )函数的区别

python的内建排序函数有 sort、sorted两个

sort函数只定义在list中,sorted函数对于所有的可迭代序列都可以定义.

这里的sorted针对的是可迭代的 set 竟然也是,但是最终还是把转换后的结果变成了列表

a = ['a', 'b', 'b', 'c', 'c', 'd']
print(set(a))
b = sorted(set(a))
print(b)

结果:
{'c', 'd', 'b', 'a'}
['a', 'b', 'c', 'd']

posted @ 2017-08-23 20:32  hzxPeter  阅读(161)  评论(0编辑  收藏  举报