基本数据类型方法2

字符串了解部分

find,rfind , index , rindex , count

find  找索引值  
x = 'qwe ras df'
res = x.find('ras')  #对应的是索引的值2,如果找没有的返回值为-1
x.find('ras',0,9)    #在指定范围内查找
x.rfind  #返回字符串最后一次出现的位置(从右向左查询),如果没有匹配,则返回-1
x.index('ras')  #找索引值,没有则报错
x.rindex('ras') #从右向左找,没有会报错

center ,ljust ,rjust ,zfill

center  #center() 方法返回一个指定的宽度 width 居中的字符串,如果width小于字符串宽度,直接返回字符串,不会截断,fillchar 为填充的字符,默认为空格
x = 'qw'  
res = x.center(50,'*')   
ljust   #左对齐,剩下用字符串填充到指定宽度
rjust   #右对齐,剩下用字符串填充到指定宽度
zfill   #返回指定长度的字符串,原字符串右对齐,前面填充0。

expandtabs

 print("hello world ".capitalize(2))    #把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8

captalize,swapcase,title

capitalize    # 首字母大写
swapcase      #大小写反转
title        #所有单词首字母大写
print('hello world'.capitalize)

isidentifier isspace istitle

# 用于判断字符串是否是有效的 Python 标识符,可用来判断变量名是否合法
# 检测字符串是否只由空白字符组成,空白符包含:空格、制表符(\t)、换行(\n)、回车(\r)等
# 用于检测每个单词首字母是否大写

列表

list 转换,其实是相当于将内部循环,然后添加空列表

  • append在原列表尾部加值

    v1 = [1,2,3]
    v1.append(4)
    
  • insert 在原列表的指定索引位置插入值

  • extend 将一个列表元素添加到另一个列表

    v1 =[1,2,3]
    v2 =[4,5,6]
    v1.extend(v2)   #将v2中的值逐一加到v1中[1,2,3,4,5,6]
    
  • remove 在原列表中根据值从左到右找到第一个删除

    v1 =[1,2,1,3]
    v1.remove('1')  #[2,1,3]
    
  • pop 在列表中根据索引删除某个元素, 有返回值,默认删除列表最后一个

    v1 = [123,1232,43453]
    v2 = v1.pop(1)
    
  • clear清空原列表,reverse反转列表

    v1 = [1,2,3]
    v1.clear
    v2 =[2,3,4]
    v2.reverse
    
  • sort 排序 默认reverse = false,则从小到大

    v1= [1,3,2,4]
    v1.sort(reverse = false)  #[1,2,3,4]
    

公共方法

  • 索引,len(),切片,步长,for,嵌套
  • 因为是可修改类型,所以可以根据索引进行删除替换

元组

一般可以被循环的元素才能转换成元组

  • 其本身不可被修改,但其可变的子子类可被修改

    v1 =(1,2,3,[4,5])
    v1[3][0] = 1
    
  • 元组的最后多加一个逗号,用于标识他是一个元组

    比较值 v1 = (1) 和 v2 = 1 和 v3 = (1,) 有什么区别?
    比较值 v1 = ((1),(2),(3)) 和 v2 = ((1,),(2,),(3,),) 有什么区别?
    
  • len(),切片,步长,索引,for,嵌套

      (1,) == 1,
    Out: (False,)
    
     a = (1,)
     b = 1,
     a==b
    Out: True
    #原本1, 就是一个元组: (1,)但是 (1,) == 1, 在解析的时候,变成了这样 ((1,) == 1), 于是 便有了结果 (False,)
    

字典

在Python3.6+字典就是有序了,之前的字典都是无序。 键值对 {key: value}

字典的键必须不可更改,值可以是任意类型

转换时必须要有特定的格式 满足能转换成键值对的形式

date ={1:2,'a':2}
data = info.keys() # 在Python2中 字典.keys()直接获取到的是列表,而Python3中返回的是高仿列表,这个高仿的列表可以被循环显示。
data = info.values()  #在Python2中 字典.values()直接获取到的是列表,而Python3中返回的是高仿列表,这个高仿的列表可以被循环显示
date = info.items()  ## item是一个元组 (键,值)
for key,value in info.items():
 print(key,value) # key代表键,value代表值,将直接从元组中直接拆分出来了
  • 更新键值对
info = {"age":12, "status":True}
info.update({"age":14,"name":"ppp"}) # info中没有的键直接添加;有的键则更新值
print(info) # 输出:{"age":14, "status":True,"name":"ppp"}
  • 移除键值对
info = {"age":12, "status":True,"name":"ppp"}
data = info.pop("age")
print(info) # {"status":True,"name":"ppp"}
print(data) # 12
  • 根据字典获取值
info = {"age":12, "status":True,"name":"ppp"}
data = info.get("name",None) # 根据name为键去info字典中获取对应的值,如果不存在则返回None,存在则返回值。
print(data) # 输出:ppp   一般直接用键去获取值容易报错,所以用get

len(), 通过键可以找到字典中的值,通过键也可以对字典进行添加和更新操作,如果键不存在,则会添加键值对,如果存在,则会更新键对应的值 for,可以循环键,值,及键值对

在嵌套和对内部数据操作时要注意:元组子元素不能变不可哈希的list、dict不能做字典的键

#   字典根据键的查找速度非常快,远远大于列表或元组通过索引查找的速度,因为字典内部是基于hash存储
posted @ 2020-07-14 20:55  feiguoguobokeyuan  阅读(108)  评论(0编辑  收藏  举报