列表, 元組,以及字符串等字符結構以及楊輝三角的四種寫法
阿新 • • 發佈:2018-08-11
and part ascii碼 sha collect sci 有一個 第一個 []
列表的 刪除復制等操作:
list.remove(value) 刪除遇到的第一個值
list.pop(index)就地彈出某個值
list.clear()>>None 清楚
list. reverse反轉
list.sort() 排序
***
列表的復制有淺復制和深復制之別
用=直接復制,表示地址不變,用的僅僅是鏈接
用shadowcopy,復制的,再列表中的列表的地址不變是鏈接
用deepcopy才是完全自己開了一個新列表空間
隨機數的選取
random模塊
dandint(a,b)返回[a,b]之間的整數
choice(seq)從非空序列中隨機挑選一個元素
randrange(iterable)
random.shuffle(list)就地打亂元素
sample(population,k)隨機從樣本中抽取K個元素形成一個新列表
元組
列表可以變,而元組不可變,讀的方法與列表類似,而沒有增刪改
元組中有一個namedtuple(typename,field_name,verbose=False,rename=False)
命名元組,返回一個元組的子類,並定義了字段
from collections import namedtuple
point = namedtuple(‘_Point‘,[‘x‘,‘y‘])#Point為返回的類
p=Point(11,22)
Student = namedtuple(‘Student‘,‘name age‘)
Tom =Student(‘tom‘,20)
字符串
sql = "what is your name?"
sql[5] = i
sql 是可以叠代的
jion可以將可叠代對象連接起來
"string".jion(iterable)
字符串分割
split(seq=None,maxsplit=-1)
sql.split(str)以str為分割符,maxplit可以指定分割次數
partition()是將字符串分割成兩部分並保留分隔符
與之類似的還有rsplit和rpartition,是從右邊開始分割
楊輝三角的四種方法 基本方法 triangle = [[1],[1,1]] n = 6 for i in range(2,n): row = [1] for j in range(i-1): value = triangle[i-1][j]+triangle[i-1][j+1] row.append(value) row.append(1) triangle.append(row) print(triangle) 補零法 n = 6 newline = [1] for i in range(1,n): oldline = newline.copy() oldline.append(0) newline.clear() for j in range(i): newline.append(oldline[j-1]+oldline[j]) print(newline) 對稱法 n = 6 triangle = [] for i in range(n): row = [1]*(i+1) for j in range(1,i//2+1): row[j]=(triangle[i-1][j-1]+triangle[i-1][j]) row[-j-1]=row[j] triangle.append(row) print(triangle) 覆蓋法 n = 6 triangle = [1] print(triangle) for i in range(1,6): z = 1 for j in range(1,i): tmp = triangle[j]+z z =triangle[j] triangle[j] = tmp triangle.append(1) print(triangle)
bytes 不可變字節序列 例如 b‘adc‘ bytes再寫的時候前面得加個b bytearray 可變字節數組 例如bytearray (b‘abc‘) bytearray得用法和list很像 比如append() remove() pop() reserve() insert() extend() clear() ASCII碼 十進制的數對應的char 和hex 因為是8個字節,最高位不取,所以一般為0~127 還有一種是utf -8
列表, 元組,以及字符串等字符結構以及楊輝三角的四種寫法