基本数据结构及用法
1.字符串str
字符串常用方法:
replace('原字符',‘新字符’)
字符替换(注意需要创建新的字符串)[start : end : step]
可切片字符串.split('分割字符')
'连接符号'.join(需要连接的字符串)
字符串.find(‘指定字符串’)
第一次出现指定字符串的位置字符串.rfind(‘指定字符串’)
最后一次出现指定字符串的位置字符串.count(‘指定字符串’)
指定字符串出现了几次字符串.isalnum()
是否所有字符全是字母或数字sorted(字符串)
指定字符串排序
isX字符串方法:
isupper()
如果字符串至少有一个字母且所有字母都是大写,返回Trueislower()
如果字符串至少有一个字母且所有字母都是小写,返回Trueisalpha()
如果字符串只包含字母且非空 ,返回Trueisalnum()
如果字符串只包含字母和数字字符且非空,返回Trueisdecimal()
如果字符串中只包含数字字符且非空,返回Trueisspace()
如果字符串只包含空格、制表符和换行且非空,返回Trueistitle()
如果字符串仅包含以大写字母开头、后面都是小写字母的单词,返回True
2.列表list
列表中的元素可以是不同类型的
- 新建列表:
l = list()
- 尾部添加元素:
list.append(单个元素)
、list.extend(集合)
- 插入元素:
list.insert(索引,新元素)
- 查找元素:
in
、not in
、list.index(要查找的元素,查找区间左边界,查找区间右边界)
(左闭右开)、list.count(要查找的元素)
(返回查找元素的个数) - 删除元素:
del list[索引]
、list.pop(要删除的元素)
(默认删除最后一个元素)、list.remove(要删除的元素)
- 排序:
list.sort()
(默认升序、若想降序加上参数reverse=True
)、list.reverse()
反转列表、newList = sorted(list)
- 切片:
list[start:end:stride]
3.元组tuple
与列表类似,元素不可修改
- 新建元组:
tuple = (元素)
- count,index用法与list一致
4.集合set
与列表类似,但元素无序不重复
- 新建集合:
s = set()
- 尾部添加元素:
set.add(新元素)
- 删除元素:
set.remove(要删除的元素)
、set.discard(要删除的元素)
、set.pop()
- 清空集合:
set.clear()
- 求交集:
s3 = s1 & s2
- 求并集:
s3 = s1 | s2
- 用来删除列表中的重复元素:
L = list(set(L))
5.栈stack
可以用列表实现,元素后进先出
6.队列queue
可以用列表实现,元素后进后出。或者用python内置包实现:(import collections)
- 新建队列:
queue = collections.deque()
- 队尾添加元素:
queue.add(新元素)
- 删除队头元素:
queue.pop()
- 清空队列:
queue.clear()
7.字典dict
- 新建字典:
dict = {key : value}
- 根据键访问值:
value = dict.get(键)
- 修改添加元素:
dict[键] = 值
- 删除元素:
del dict[键]
、del dict
(删除字典)、dict.clear()
(清空字典) dict.keys
(获取所有键)、dict.values
(获取所有值)- 获取字典中值最大的键:
max(dict,key=dict.get)
、max(dict, key=lambda k: dict[k])
8.堆heapq
Python 默认的优先队列是小根堆。堆的常用方法:(import heapq)
- 新建堆:
heapq.heapify(列表)
- 堆顶删除元素:
heapq.heappop(hq)
- 添加元素:
heapq.heappush(hq, value)
参考:
python字符串常用方法及汇总
【学习笔记1】python中list[::-1]、list[:-1]、list[2::-1]的使用方法
Python切片操作:[:,0]或[:-1]
Python数据基础操作
python基本数据类型都在这里
python各种内置函数的时间复杂度