1、反转list
2、list排序
3、list去重
4、list截取
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@Time :2022/7/27 13:27
@Author :
@File :testa.py
@Version :1.0
@Function:
"""if __name__ == '__main__':
"""
1 反转list
核心:list类的reverse方法
"""
listReverse = [3, 5, 2, 7, 1, 4, 9, 3]
listReverse.reverse() # [3, 9, 4, 1, 7, 2, 5, 3]
print(listReverse)
"""
2 list排序
核心:list类的sort方法
"""
# 2.1 正序(从小到大)
list1 = [3, 5, 2, 7, 1, 4, 9, 3]
list1.sort()
print(list1) # [1, 2, 3, 3, 4, 5, 7, 9]
# 2.2 反序(从大到小)sort方法中加入reverse反转即可
list2 = [3, 5, 2, 7, 1, 4, 9, 3]
list2.sort(reverse=True)
print(list2) # [9, 7, 5, 4, 3, 3, 2, 1]
# 2.3 list中的元素是对象 根据对象的某个属性正序排序(若需要反序 则在sort方法中加入reverse=True即可)
list3 = [{'a': 3, 'b': 'fd'}, {'a': 1, 'b': 'gfh'}, {'a': 8, 'b': 'jyt'}, {'a': 5, 'b': 'rew'}]
list3.sort(key=lambda param: param['a'])
print(list3) # [{'a': 1, 'b': 'gfh'}, {'a': 3, 'b': 'fd'}, {'a': 5, 'b': 'rew'}, {'a': 8, 'b': 'jyt'}]
"""
3 list去重
核心:set类
"""
# 3.1 去除list中的重复元素 并保持去重后的顺序不变
listRepetition = [3, 5, 2, 7, 9, 4, 9, 3]
newListRepetition = list(set(listRepetition)) # set返回的是 去重后按升序排列的数据
newListRepetition.sort(key=listRepetition.index) # 这一步表示 新的list按照原来list的顺序进行排序 以此实现去重后的顺序不变
print(newListRepetition) # [3, 5, 2, 7, 9, 4]
# 3.2 list中的元素是对象 根据对象的某个属性来对list去重
def repetition(data: list, key: str):
'''
根据list元素中的某个属性 对list去重
@param data: list
@param key: list元素中的某个属性
@return:
'''
newData = []
keyList = []
for d in data:
if d[key] not in keyList:
newData.append(d)
keyList.append(d[key])
return newData
listRepetition2 = [{'a': 3, 'b': 'fd'}, {'a': 1, 'b': 'gfh'}, {'a': 3, 'b': 'jyt'}, {'a': 5, 'b': 'rew'}]
newList = repetition(listRepetition2, 'a')
print(newList) # [{'a': 3, 'b': 'fd'}, {'a': 1, 'b': 'gfh'}, {'a': 5, 'b': 'rew'}]
"""
4 list截取
核心:[] 取值时 遵循左闭右开 即[2:5] 这里的5是不取的 只取到4
"""
listA = ["a1", "a2", "a3", "a4", "a5"]
print(listA[2]) # a3
print(listA[-2]) # a4
print(listA[1:3]) # ['a2', 'a3']
print(listA[:2]) # ['a1', 'a2']
print(listA[-3:]) # ["a3", "a4", "a5"]
如果忍耐算是坚强 我选择抵抗 如果妥协算是努力 我选择争取