最近在刷leetcode
发现python好多小知识点是一知半解,不能熟练使用。
特做此笔记。
列表去重后按照原索引排序
- 背景
leetcode第一个出现过的字符
字符串需要去重用set()方法,但是set()是无序的,需要得到按原列表顺序去重后的列表 - 解决
ss=list(set(s))
ss.sort(key=s.index)
双向队列deque
参考High-performance container datatypes
刷题的时候不时会用到双向队列,虽然列表也能实现双向队列的功能,但是存在即合理,何乐不为?
class collections.deque([iterable[, maxlen]])
from collections import deque
- append(val)
- appendleft(val)
- clear()
- count(x)
- extend(iterable)
- extendleft(iterable)
- pop()
- popleft()
- remove(value)
- reverse()
- rotate(n=1)
- maxlen
list.sort(cmp=None, key=None, reverse=False)
- 解决问题:
列表的元素的部分值排序 - dem
题目应用: 重新排列日志文件
背景:非全部字符排序
a,b=log.split(" ", 1)
- Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法
split() 方法语法:
str.split(str="", num=string.count(str))