jQuery火箭图标返回顶部代码

python3 列表去除重复项保留原序

 

l1 = [11, 2, 3, 22, 2, 4, 11, 3]

#第一种用for循环
l2 = []
for i in l1:
    if i not in l2:
        l2.append(i)

print(l2)

#第二种用方法
l3=list(set(l1))   # 将列表用set去重,再转回列表(没有按照之前的顺序)
l3.sort(key=l1.index)  # 将上一步得到的列表列表排序,按照key顺讯排序
print(l3)

# 结果
[11, 2, 3, 22, 4]
[11, 2, 3, 22, 4]


# 按照年龄排序
q1=[
    {'name':'Alex','age':38},
    {'name':'Egon','age':18},
    {'name':'Nezha','age':19},
    {'name':'Allen','age':16}
]

#函数
def tmp(x):
    # 返回一个排序的依据
    return x['age']
q1.sort(key=tmp)
print(q1)

#使用lambda表达式
q1.sort(key=lambda x:x['age'])
print(q1)

#结果
[{'name': 'Allen', 'age': 16}, {'name': 'Egon', 'age': 18}, {'name': 'Nezha', 'age': 19}, {'name': 'Alex', 'age': 38}]
[{'name': 'Allen', 'age': 16}, {'name': 'Egon', 'age': 18}, {'name': 'Nezha', 'age': 19}, {'name': 'Alex', 'age': 38}]

 

相关知识整理:

1、set(l1)
集合,去除列表重复项
2、sorted()
sorted(iterable, key=None, reverse=False)
 iterable : 可迭代对象
key : 指定一个函数,用于从iterable 中的每个元素中提取某个属性来作为用于比较的关键字。默认值为None。    
reverse : 默认为Fale,为True时列表元素将被倒序排列
返回一个新的列表
对iterable 进行排序,排序方式由key的函数决定

 

posted @ 2018-05-28 09:11  墨颜丶  阅读(339)  评论(0)    收藏  举报