python的集合类型——字符串、列表、元组、字典
集合類型
?
1、字符串
下標索引
所謂下標,就是編號,就好比超市中的存儲柜的編號,通過這個編號就能找到相應的存儲空間
字符串實際上就是字符數組,所以也支持下標索引
如果有字符串:name = 'abcdef',在內存中的實際存儲如下:
切片(分片)
切片是指對操作的對象截取其中一部分的操作。字符串、列表、元組都支持切片操作。
切片的語法:[起始:結束:步長]
步長:表示下標變化的規律。
注意:選取的區間屬于左閉右開型,即從"起始"位開始,到"結束"位的前一位結束(不包含結束位本身)。
字符串常見操作
<1>find() == java Indexof方法
檢測 str 是否包含在 mystr中,如果是返回開始的索引值,否則返回-1
mystr.find(str, start=0, end=len(mystr))
<2>index()
跟find()方法一樣,只不過如果str不在 mystr中會報一個異常.
mystr.index(str, start=0, end=len(mystr))
<3>count
返回 str在start和end之間 在 mystr里面出現的次數
mystr.count(str, start=0, end=len(mystr))
<4>replace
把 mystr 中的 str1 替換成 str2,如果 count 指定,則替換不超過 count 次.
mystr.replace(str1, str2, ?mystr.count(str1))
<5>split
以 str 為分隔符切片 mystr,如果 maxsplit有指定值,則僅分隔 maxsplit 個子字符串
mystr.split(str=" ", 2) ???
<6>capitalize
把字符串的第一個字符大寫
mystr.capitalize()
<7>title
把字符串的每個單詞首字母大寫
<8>startswith
檢查字符串是否是以 obj 開頭, 是則返回 True,否則返回 False
mystr.startswith(obj)
<9>endswith
檢查字符串是否以obj結束,如果是返回True,否則返回 False.
mystr.endswith(obj)
<10>lower
轉換 mystr 中所有大寫字符為小寫
mystr.lower() ???????
<11>upper
轉換 mystr 中的小寫字母為大寫
mystr.upper() ???
<12>ljust
返回一個原字符串左對齊,并使用空格填充至長度 width 的新字符串
mystr.ljust(width)
<13>rjust
返回一個原字符串右對齊,并使用空格填充至長度 width 的新字符串
mystr.rjust(width) ???
<14>center
返回一個原字符串居中,并使用空格填充至長度 width 的新字符串
mystr.center(width) ??
<15>lstrip
刪除 mystr 左邊的空白字符
mystr.lstrip()
<16>rstrip
刪除 mystr 字符串末尾的空白字符
mystr.rstrip() ???
<17>strip ---java trim
刪除mystr字符串兩端的空白字符
<18>rfind
類似于 find()函數,不過是從右邊開始查找.
mystr.rfind(str, start=0,end=len(mystr) )
<19>rindex
類似于 index(),不過是從右邊開始.
mystr.rindex( str, start=0,end=len(mystr))
<20>partition
把mystr以str分割成三部分,str前,str和str后
mystr.partition(str)
<21>rpartition
類似于 partition()函數,不過是從右邊開始.
mystr.rpartition(str)
<22>splitlines
按照換行符分隔,返回一個包含各行作為元素的列表
mystr.splitlines() ?
<23>isalpha
如果 mystr 所有字符都是字母 則返回 True,否則返回 False
mystr.isalpha() ?
<24>isdigit
如果 mystr 只包含數字則返回 True 否則返回 False.
mystr.isdigit()
<25>isalnum
如果 mystr 所有字符都是字母或數字則返回 True,否則返回 False
mystr.isalnum() ?
<26>isspace
如果 mystr 中只包含空格,則返回 True,否則返回 False.
mystr.isspace() ??
<27>join
mystr 中每個字符后面插入list的每個元素后面,構造出一個新的字符串
mystr.join(list)
列表
1、列表介紹
Python內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素
len()函數可以獲得list元素的個數
注:要確保索引不要越界,記得最后一個元素的索引是?len(列表名) - 1
2、列表的相關操作
列表中存放的數據是可以進行修改的,比如"增"、"刪"、"改""
<1>添加元素("增"append, extend, insert)
append? ? ? ? ? ? ? ? ? ? ? ? ?通過append可以向列表添加元素
extend? ? ? ? ? ? ? ? ? ? ? ? ? 通過extend可以將另一個集合中的元素逐一添加到列表中
insert(index, object)? ? ? 在指定位置index前插入元素object
刪除元素("刪"del, pop, remove)
del:根據下標進行刪除,其實可以刪除所有變量
pop:默認刪除最后一個元素
remove:根據元素的值進行刪除第一個
查找元素("查"in, not in, index, count)
in(存在),如果存在那么結果為true,否則為false
not in(不存在),如果不存在那么結果為true,否則false
#查找是否存在if findName in nameList:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print('在字典中找到了相同的名字')
? ? ? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print('沒有找到')
排序(sort, reverse)
sort方法是將list按特定順序重新排列,默認為由小到大,參數reverse=True可改為倒序,由大到小。
reverse方法是將list逆置。
元組
Python的元組與列表類似,不同之處在于元組的元素不能修改。元組使用小括號,列表使用方括號。
字典
Python內置了字典:dict的支持,dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)存儲,具有極快的查找速度。
注:dict內部存放的順序和key放入的順序是沒有關系的
和list比較,dict有以下幾個特點:
1)查找和插入的速度極快,不會隨著key的增加而變慢;
2)需要占用大量的內存,內存浪費多。
3)而list相反:查找和插入的時間隨著元素的增加而增加;占用空間小,浪費內存很少。
所以,dict是用空間來換取時間的一種方法
總結
以上是生活随笔為你收集整理的python的集合类型——字符串、列表、元组、字典的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python的逻辑判断和循环 || 打印
- 下一篇: Python的可变类型和不可变类型