python各数据类型常用方法汇总

在项目开发阶段,会有经常忘记、写错内置方法的情况。为了减少这种查询的情况,特此总结下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. 删除键值对
    1del dict['key']    # 删除特定的键值
    2dict.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. 增加键值对:
    1dict['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 dictpass 
    
# 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()           # 随机删除一个元素,并将其返回(没有参数)
4in /  not in / for 
5,其他
    1set.clear()
    2set.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)

猜你喜欢

转载自blog.csdn.net/TFATS/article/details/103893575
今日推荐