在项目开发阶段,会有经常忘记、写错内置方法的情况。为了减少这种查询的情况,特此总结下python各数据类型常用方法。
1,str类型
str.upper() # 所有字符大写
str.lower() # 所有字符小写(支持中英)
str.casefold() # 所有字符小写 (支持中英及其他)
str.title() # 首字母大写(每个单词首字母)
str.capitalize() # 首字母大写(字符串首字母)
str.count('i',start,stop) # 字符串出现的次数
str.find('i',start,stop) # 返回字符串的索引,若没有则返回-1
str.index('i',start,stop) # 返回字符串的索引,若没有则报错
str.rfind('i') # 类似于find(),不过是从右边开始查找
str.rindex('i') # 类似于index(),不过是从右边开始查找
'+'.join(list) # 字符串作为分隔符插入字符串或列表中
str.split('i') # 用分隔符拆分字符串,默认以'\n'分隔
str.splitlines() # 用换行符拆分字符串,不需要传入参数
str.replace(old,new,[count]) # 替换指定的字符串
str.startswith('Ni') # 检查字符串是否以传入参数值开头
str.endswith('hui') # 检查字符串是否以传入参数值结尾
str.ljust(10,'#') # 返回原字符左对齐,并使用空格填充至长度为参数的新字符串
str.rjust(10,'#') # 返回原字符右对齐,并使用空格填充至长度为参数的新字符串
str.center(10,'#') # 返回原字符居中,并使用空格填充至长度为参数的新字符串
str.lstrip('hui') # 删除字符串左边含有参数的字符,参数默认为空格
str.rstrip() # 删除字符串右边含有参数的字符,参数默认为空格
str.strip() # 删除字符串左右两边含有参数的字符,参数默认为空格
str.partition('jia') # 把字符串以传入参数分割成三部分,参数前、参数、后,返回三个元素的元组
str.rpartition('jia') # 类似于 partition()函数,不过是从右边开始.
list = eval("['a','b','c']") # 返回去掉双引号后的数据
str.isalpha() # 是否都是字母
str.isdigit() # 是否都是数字
str.isalnum() # 是否都是字母或数字
str.isspace() # 是否都是空格
str.isupper() # 是否都是大写
str.islower() # 是否都是小写
str.istitle() # 是否开头是大写
isinstance('nijiahui',str) # 参数1的数据类型是否和参数2一致
2,list类型
# 加:
list.append('abc') # 按顺序添加元素
list.insert(0,'abc') # 将参数2添加到列表参数1的位置上
list.extend(dict) # 将可遍历的参数遍历后加入列表
# 减:
list.pop() # 默认将列表的最后一个元素去除并返回去除的元素,也可以以传入的索引去除元素
del list[2] # 根据索引去除元素
list.remove('ni') # 根据传入的元素名称去掉一个元素
# 排序:
list.sort(reverse=True) # 重新排序改变list数据,默认为升序
sorted(list1,reverse=True) # 重新排序不改变list数据,默认为升序
list.reverse() # 翻转列表,改变原数据
list(reversed(list)) # 翻转列表,不改变原数据
# 其他;
list.count('i') # 返回list中的参数个数
list.index('i',1,4) # 返回参数在索引区间的索引
list.clear() # 清空list里的数值,改变原数据
list1 = list.copy() # 浅拷贝
# 遍历语句:
for i,value in enumerate(list):
print(i,value)
# 列表推导式:
list = [i for i in range(100)]
3,tuple类型
此处需要说明下,tuple类型由于生成之后数据不能改变,所以在生成tuple对象的时候,tuple类型的数据为顺序表(数组)的方式排列,分配给整块的内存地址,所以在读取数据时的速度会大于list;而list类型的数据为链表的方式排列,读取数据的时候为遍历读取,读取速度会慢于tuple类型。
tuple.index('i',1,4) # 返回参数1在参数2、3(左开右闭)的索引
tuple.count('i') # 返回参数在元组中的个数
1,定义:
tuple = ()
tuple = tuple()
2,定义只有一个元素的元组:
tuple = (1,)
3,方法:
in / not in / tuple.index('i',1,4) / tuple.count('i')
4,dict类型
# key值不能出现可变数据类型,一般用str
# 1. 创建并返回一个新字典
dicts = {}.fromkeys(seq,[value])#seq为可遍历对象,value为对应数值,默认为None
# 2. 遍历字典key、value
for i,j in dict.items(): # .keys() / .values())
pass
# 3. 删除键值对
1) del dict['key'] # 删除特定的键值
2) dict.clear() # 清空字典
3) key = dict.pop('key') # 参数为必填,同时返回删除键对应的数值
4) key,value = dict.popitem() # 随机返回并删除字典中的一对键和值
# 4. 查键值对:
1) dict['key']
2) dict.get('key','sub') # 若有key返回对应value;若无key,返回sub
# 5. 增加键值对:
1) dict['key'] = value
2) dict.update(age='25')
# 6. 增/查键值对(工厂函数):
dict.setdefault('key','sub') # 若有key返回对应value,若无key,返回sub并加入到dict中
# 7. 浅拷贝
dict1 = dict.copy()
# 8. 直接in 查询的是dict的key
if '' in dict:
pass
# 9. 直接遍历dict时,遍历的是dict的key
for i in dict :
pass
# 10. 若需要将list去重同时保持其顺序
list = ['a','b','c',5,4,3,2,'b',2,0]
list = {}.fromkeys(list).keys()
5,set类型
# 不能出现可变的数据类型。
# 保存的元素是唯一的。(与dict中的key相似)
1,定义
1) set = set()
2) set = {1,2...}
2,增加元素
1) set.add('sub') # 将sub作为整体加入集合
2) set.update('sub') # 将sub遍历加入集合
3,删除元素
1) set.remove('sub') # 将元素sub移除集合中(若无则报错)
2) set.discard('sub') # 将元素sub移除集合中(若无,无操作)
3) set.pop() # 随机删除一个元素,并将其返回(没有参数)
4,in / not in / for
5,其他
1)set.clear()
2)set.copy()
3)不可变集合:set=frozenset(set)
6,功能:
1)去重
set = set(list)
2)交集
1) set = set1 & set2
2) set = set1.intersection(set2)
3)并集
1) set = set1 | set2
2) set = set1.union(set2)
4)差集
1) set = set1 ^ set2
2) set = set1.difference(set2)
5)判断
set1.issubset(set2)
set1.isupperset(set2)
set1.isdisjoint(set2)