python 五大核心数据类型总结之字符串/列表/字典/元祖/集合总结

1.主要区别

python 五大核心数据类型总结之字符串/列表/字典/元祖/集合总结

2.序列的相同处理方法(字符串,列表和元组都称为序列)

python 五大核心数据类型总结之字符串/列表/字典/元祖/集合总结

 注:通过偏移量访问数据时S[-i] = S[len(S)-i]     ; S[i:j] :取出在S中偏移量为i,直到但不包含偏移量为j的内容

3.对象类型之特有方法

(1)字符串 (字符串委S = 'I,LOVE,PYTHON')

    

方法 详解 举例
string.find(str, beg=0, end=len(string)) 检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 S.find(V,0,4) => 4
string.replace(str1, str2,  num=string.count(str1)) 把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

S.replace(‘P’,'F') => 

S = 'I,LOVE,FYTHON'

string.split(str="", num=string.count(str)) 以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串

S.split(',') 

得到一个列表:['i' , 'LOVE' ,'PYTHON']

1.string.strip([chars])

 

2.string.rstrip([chars])

 

3.string.lstrip([chars])

1.在 string 上执行 lstrip()和 rstrip()

 

2.返回删除 string 字符串末尾的指定字符后生成的新字符串

 

3.返回删除 string 字符串头部的指定字符后生成的新字符串

 

1.string.upper()

2.string.lower()

3.string.capitalize()

4.string.tittle()

1.将字符串的小写字母转换为大写字母

2.将大写字母转换为小写

3.将字符串中字母首字母大写其余小写

4.将字符串中字母每个单词的首字母大写其余小写

 

1.string.alpha()

 

2.string.isalnum()

 

3.string.isdecimal()

 

4.string.isdigit()

 

5.string.isnumric()

 

6.string.isspace()

 

1.如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

2.如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

3.如果 string 只包含十进制数字则返回 True 否则返回 False.

4.如果 string 只包含数字则返回 True 否则返回 False.

5.如果 string 中只包含数字字符,则返回 True,否则返回 False

 

6.如果 string 中只包含空格,则返回 True,否则返回 False

 

1.ord(char)

2.chr(number) 

字符串代码相互转化

1.字符=>ASCLL值

2.ASCLL值=>字符

ord('s') => 115

chr(115) => 's'

     

(2)列表 (L =[0,'python',[520]])

方法 详解 举例
L.append(obj)   append 用于将一个对象附加到列表末尾。只是修改原列表,不会返回修改过后的新列表  
L.clear()   用于清空列表的内容  
L.copy()

 有区别宇常规的L1 = L 常规的赋值复制改变L1列表的同时,原列表也跟着改变,这种复制方式只是相当于给同一个列表重新命名而已。

  L.copy形成的是两个互不影响的列表,其作用类似于L[:]或者 list(L)

 
L.extend(obj) extend能够将多个值附加到列表末尾,这个方法类似于拼接,注意这里没有返回值,并且 extend 会直接修改被扩展的序列.

L.exetnd([1,2,3])

=>L = [0,'python',[520],1,2,3]

L.insert(index, obj) 将obj(对象)插入索引为index 列表

L.insert(1,'fython')

=> L = [0,'fython','python',[520]]

L.pop([index]) 默认是从列表中删除列表中最后一个元素,并将其返回 当index非零时 删除索引值

L.pop() 值为[520]

=> L =>[0,'python']

 

L.pop(2)

=>[0,'python']

L.remove(value) 从左到右顺序删除第一个为指定值的元素,不返回值

L.remove(0)

=>L = ['python',[520]]

L.reverse() 按相反的顺序排列列表中的元素,修改列表  
L.sort()

  sort 用于对列表就地排序。就地排序就是说对原来的列表进行修改,使其元素按顺序排列,而不是返回排序后的列表的副本。

  高级排序:方法 sort 有接受两个可选参数 key 和 reverse。这两个参数通常是按名称来指定的,称为关键字参数。key 就是指定需要按照什么属性来进行排序,而 rerverse 是指定是否要按照相反顺序来进行排序。

>>> a = ['word','aa','hello','waq']
>>> a.sort(key = len)
>>> a
['aa', 'waq', 'word', 'hello']

 

>>> a = [3,1,4,5,2]
>>> a.sort(reverse = True)
>>> a
[5, 4, 3, 2, 1]
 

(3) 字典(D = {‘name’:'fython','age':18})

      

方法 详解 举例

增:

 1.D["key"] = value            2.D.setdeafult("key","value")

1. 字典中没有key就添加,有key就覆盖

 

2.字典中没有key就添加,有key也不变

 

删:

1.dic.pop("key")     

2.dic.clear()       

3.del dic["key"]       

4.dic.popitem()     

 

 

 

1.根据key值删除(有返回值)

2.清空字典

3.删除字典/键值对

4. 随机删除键值对

 

 

 

改:

1.D["key"] = value     

2.D.update(D1)     

1. 将字典中key对应值修改成value

2.将字典dic2中的键值对覆盖添加到dic1,dic1原有的键值对不变.注:类似list得extend()方法,如果两个字典存在相同的键,会更新为最新的值

>>> dict1 ={'name':'hexo','sex':'男'}
>>> dict2 = {'name':'花','sex':'女'}
>>> dict2.update(dict1)
>>> print(dict1,"\n",dict2)
运行结果:
{'name': 'hexo', 'sex': '男'} 
{'name': 'hexo', 'sex': '男'}

查:

1.dic["key"]                 

2.dic.get("key",k)      

1.根据key值查对应的value值

2.根据key值查对应的value值,如果没有查到key值,则默认返回k;若没有设置k,则返回None

 
1.dict.keys()
2.dict.values()
3.dict.items()

 

1.返回一个包含字典所有KEY的列表;

2.返回一个包含字典所有value的列表;

3.返回一个包含所有(键,值)元祖的列表;

 

 
遍历:
for k in dic:   
    print(k,dic[k])
#循环打印 key + values
 

(4)元组

元组,没有方法,序列的通用方法元组均适用,注当创建单个元素元组时,要在后面加’,‘,如T = (123,)

(5)集合

集合的方法
方法 详解 举例
S.add(value) 将value值加入到集合S中 去重添加  

1.S.remove(value)

 

2.S.discard(value)

1.将value值从S中删除,若value值不在S中将引发异常

2.将value值从S中删除,若value值不在S中,也没事儿

 
S.pop(value) 移除S中value值  
S.clear() 清空集合S  

python 五大核心数据类型总结之字符串/列表/字典/元祖/集合总结

 图片来源:https://blog.csdn.net/jasonLee_lijiaqi/article/details/79307119