Python基礎第三節

2021-10-08 01:28:03 字數 2947 閱讀 1391

引入io模組,用io.stringio()生成可變的新字串。

示例:s=『abcde』

sio=io.stringio(s)

sio.getvalue(): 輸出』abcde』

sio.seek(5): 輸出5

sio.write(『g』): 輸出1

sio.getvalue(): 輸出』abcdg』

比較運算子:可連用,如:

a=43>2相當於8//4

運算子優先順序問題:

1.乘除優先加減;

2.位運算和算術運算》比較運算子》賦值運算子

3.複雜表示式務必用小括號組織

列表物件的常用方法

列表建立

**list()可將任何可迭代的資料轉換為列表。**如:

a=list(range(10)): range(10)為range物件,list()將其轉換為包含1—9九個元素的列表;

b=list(range(3,9,2)): 輸出[3,5,7]

c=list(range(15,10,-1): 輸出[15,14,13,12,11]

d=list(range(-1,-9,-2): 輸出[-1,-3,-5,-7]

s=list(『abcd』): list將字串轉換為[『a』,『b』,『c』,『d』]

**推導式生成列表。**如:

a=[x2 for x in range(5)]: 輸出[2,4,6,8]

b=[x2 for x in range(5) if x%2==0]: 輸出[4,8]

列表元素的增加

原地修改列表物件,真正在列表尾部增加新元素,速度快。

+運算子操作:

並非真正在尾部新增元素,而是要建立新的列表物件,將原列表元素和新列表元素依次複製進新列表。涉及大量複製操作,若需要操作的元素個數過多,不推薦使用此方法。

extend方法:

將目標列表所有元素新增至本列表尾部。原地操作,不建立新列表物件,效率較高。

insert()插入元素:

將指定元素插入至列表物件的任意指定位置,會使插入位置後的所有元素向後移動,影響速度。

類似函式還有remove(), pop(), del()

乘法擴充套件:

新列表元素是原列表元素的多次重複。

同樣適用乘法擴充套件的還有字串、元組。

列表元素的刪除

del list[i]: 刪除列表指定位置元素。

將該元素後面的所有元素拷貝至前乙個位置。

list.pop([index]): 刪除並返回列表指定位置index處的元素。

預設為最後乙個元素。

list.remove(x): 在列表中刪除首次出現的指定元素x

列表元素的訪問

a.index(30,5,7):

返回索引位置5-7的區間內,第一次出現元素30的索引位置。

判斷列表中是否存在某元素:

count(x): 返回0則為不存在

x in list: true or false

x not in list: true or false

列表切片

方法與字串切片一致。參見:

列表排序

不生成新列表的方法:

list.sort(): 所有元素原地排序。預設公升序

list.sort(reverse=true): 降序排序

random.shuffle(list): 亂序排列

生成新列表的方法:

alist=sorted(list): 正序

blist=sorted(list,reverse=true): 降序

reversed()返回迭代器:

reversed(list)並不返回列表物件,而是返回乙個逆序排列的迭代器物件。此迭代器只能用一次,第一次指標從表尾移動至表頭,第二次指標將無處可移。

例:a=[1,2,3,4]

b=reversed(a) #b為迭代器物件

list(b): [4,3,2,1]

list(b): #此迭代器無法二次使用

元組支援的操作:

1.索引訪問

2.切片操作

3.連線操作

4.成員關係操作

5.比較運算操作

6.計數:元組長度len(), 最大值max(), 最小值min(),求和sum()等。

元組建立

a=(1,2,3),等同於a=1,2,3

若a中僅有1個元素,則元素後應加逗號,即a=(2,)或a=2,,以免被直譯器解釋為整數。

也可通過tuple()建立元組或將字串、列表、其他序列型別、迭代器等轉換為元組。

元組排序

只能使用內建函式sorted(),生成新的元組物件

zipzip(list1,list2…)將多個列表對應位置的元素組合成元組,並返回這個zip物件。注意,返回的是zip物件,而非列表或元組物件。

生成器推導式建立元組

s=(s*2 for s in range(5)) #生成生成器物件

tuple(s): (2,4,6,8)

list(s): #只能訪問一次元素,第二次就為空了,只能再生成一次

可通過生成器物件的__next__()方法,依次訪問物件中的元素。如:

s.next(): 0

s.next(): 2

s.next(): 4

元組總結:

1.核心特點:不可變序列

2.元組的訪問和處理速度比列表快

3.元組、整數、字串可以作為字典的鍵(key),因其不可變性。而list不能作為字典的鍵。

第三節 Python語法基礎

第三節 python語法基礎 支援基本數 算 none 空型別 在賦值運算中a 0.2並不會列印出來,因為返回的是乙個空型別。type 函式檢視型別 容器型別 用表示列表,可包含不同型別的資料,type list。表示集合,內容不可重複,type set。用 代表元組,type tuple。用代表字...

第三節 scala 基礎語法

scala var hellowvar hellowvar hellowvar string hellowvar 重新賦值 scala hellostring second var hellowvar string second var寫過js的我發現 var 這塊又被用上了 scala val n...

Python學習筆記 第三節

算術運算子 就是我們常用的 兩個物件相加 也可以用來字串的連線 兩個數相減 得到的數可以是負值 兩個數做乘法運算,或者將乙個字串重複幾次 兩個數做除法運算,需要注意 在python2版本裡邊,兩個相除,得到的也是整數,如果想要得到浮點數,只要把其中乙個數變為浮點數就好 例程環境 python 3 冪...