20201118 5.2元組 5.3字串

小王今天更新了嗎發表於2020-11-18

20201118

1. 元組

1.1 元組tuple和列表的區別:

1)元組只可讀、不可寫
2)建立元組時大部分使用的是小括號

1.2 type() 可以檢視類別

tuple 元組
list 列表

1.3 無法修改元組自身,但是可以利用切片和拼接實現更新元組的目的

>>> q
(1, 2, 3, 4)
>>> q=q[:1]+q[3:]
>>> q
(1, 4)
>>> a=(1,2,3,4)
>>> a=a[0],'aaa',a[2]
>>> a
(1, 'aaa', 3)

1.4 id()函式

用於返回指定物件的唯一id值,python確保每個物件的id是唯一的。

1.5 刪除整個元組 del語句

2. 字串

2.1

字串可以使用單引號或者雙引號,但是要成對使用

2.2

字串一旦確定下來就無法修改,但是如果非要修改,可以利用切片和拼接來實現

>>> str='abcdefg'
>>> id(str)
140505830032808
>>> str=str[:3]+'dd'+str[6:]
>>> id(str)
140505830032696
>>> str
'abcddg'

注:這種通過拼接舊字串的各個部分得到新字串的方式,並不是真正意義上的修改字串,原來的舊的字串其實還在,只不過我們將變數名指向了拼接後的新的字串。舊的字串一旦失去的變數的引用,就會被python的垃圾回收機制釋放掉。

2.3 count(sub[,start[,end]])

用來查詢sub引數在字串中出現的次數,可以用start和end來選擇查詢的範圍

 >>> str
'abcddg'
>>> str.count('d')
2
>>> str.count('d',0,4)
1

2.4 find(sub[,start[,end]])或者index(sub[,start[,end]])方法

用於查詢sub引數在字串中第一次出現的位置,如果找到了,則返回索引值,如果沒有找到,find()會返回-1,index()方法會丟擲異常

2.5 replace(old,new[,count])方法

用於將字串中原來的old引數指定的字串替換成new引數指定的字串

2.6 split(sep=None,maxsplit=-1)方法

用於拆分字串

2.7 join(iterable)

用於拼接字串

3. 字串的格式化

按照統一的規格去輸出一個字串

3.1 format()

  接收位置引數和關鍵字引數
  二者均傳遞到一個叫replacement的欄位,而這個replacement欄位在字串內用大括號{}表示

\位置引數:字串中的{0} {1} {2}與位置有關,一次被format的三個引數替換,那麼format的三個引數就成為位置引數

 >>> '{0} love {1}.{2}'.format('I','?','!')
'I love ?.!'
>>> '{0} love {2}.{1}'.format('I','?','!')
'I love !.?'

關鍵字引數

     >>> '{a} love {b}.{c}'.format(a='I',b='?',c='!')
'I love ?.!'

關鍵字引數和位置引數如果混用,位置引數必須在關鍵字引數之前,否則就會報錯

>>> '{0} love {b}.{c}'.format('I',b='?',c='!')
'I love ?.!'
>>> '{a} love {1}.{c}'.format(a='I','?',c='!')
  File "<stdin>", line 1
SyntaxError: positional argument follows keyword argument

3.2 格式化操作符 %

%f 格式化浮點數字,可以指定小數點後的精度
%s 格式化字串
%d 格式化整數
%c 格式化字元及其ASCII碼

>>> ('%.2f %.2f %.2f %.3f')%(3234,2.3,3.566,3.588)
'3234.00 2.30 3.57 3.588'

3.3 python的轉義字元及含義

’ 單引號
‘’ 雙引號
\n 換行
\t 橫向製表符tab
\r 回車符
\f 換頁符
\o 八進位制數所代表的字元
\ 反斜槓

4. 序列

列表 元組 字串 統稱為序列

4.1 list()

把一個可迭代物件轉換為列表

4.2 tuple()

把一個可迭代物件迭代成元組

4.3 str(obj)

把一個obj物件轉換成字串

4.4 len(sub)

返回sub引數的長度

4.5 max()

返回序列或引數中的最大值

4.6 min()

返回引數物件中的最小值
兩者都要保證序列或者引數的資料型別統一

4.7 sum(iterable[,start])

用於返回iterable的所有元素的總和,有一個引數start,如果設定該引數,可以實現從該值開始加起

4.8 sorted(iterable,key=None,reverse=False)

返回一個排序的列表
sort() 實現列表原地排序,而sorted是返回排序後的新列表

4.9 reversed(sequence)

返回逆向迭代的序列的值reserve是原地翻轉
reserved是返回一個迭代器物件

4.10 enumerate(iterable)

生成由二院組構成的一個迭代物件,每個二元組由可迭代引數的索引號及其對應的元素組成

4.11 zip(iter1,[,iter2[…])

返回由各個可迭代引數共同組成的元組

相關文章