資料的儲存

2021-09-24 08:00:05 字數 3058 閱讀 4135

列表是一種儲存大量資料的儲存模型。

列表具有索引的概念,可以通過索引操作列表中的資料。列表中的資料可以進行新增、刪除、修改、查詢等操作。

建立列表: 變數名 = [資料1,資料2,...]

獲取列表資料: 變數名[索引]

修改列表資料: 變數名[索引] = 值

元組是一種儲存固定資料的儲存模型。

元組具有索引的概念,可以通過索引操作元組中的資料。元組中的資料可行查詢操作,但不能進行新增、刪除、修改操作。

建立元組: 變數名 = (資料1,資料2,...)

獲取元組資料: 變數名[索引]

元組中的資料如果是非引用型別資料,不允許修改

元組中的資料如果是引用型別物件,該物件不允許替換,而物件的屬性值可以發生改變

自動組包:將多個資料賦值給乙個變數時,多個資料將包裝成乙個元組,將元組賦值給變數,該過程稱為自動組包。

應用場景:設定返回值為多個值

return 1,2,3  等同於   return (1,2,3)

複製**

應用場景:動態字串賦值傳值方式

print("座標%d,%d" % (10,20))

複製**

自動解包:將元組賦值給多個變數時,如果元組資料的數量與變數的數量相同,元組將被自動拆分成多個值,並賦值給對應變數,該過程稱為自動解包。

場景:多個變數接收返回值

a,b,c = func()等同於 a,b,c = (1,2,3)等同於a,b,c = 1,2,3

複製**

場景:動態字串賦值取值方式

print(「座標%d,%d」 % (10,20))	將10給第乙個%d,將20給第二個%d

複製**

集合是一種儲存大量無序不重複資料的儲存模型。

集合沒有索引的概念。集合中的資料可以進行新增、刪除等操作。

建立集合:

變數名 = 

複製**

字典是一種使用「鍵值對結構」儲存資料的儲存模型。

字典不具有索引的概念,字典使用鍵key代替索引,可以通過鍵操作字典中儲存的資料value。字典可以根據鍵key進行資料的新增、刪除、修改、查詢操作。

建立字典: 變數名 =

新增資料: 變數名[鍵] = 值 (字典中沒有對應的鍵)

獲取資料: 變數名[鍵]

修改資料: 變數名[鍵] = 值 (字典中存在對應的鍵)

字典中的鍵是唯一的

1.當需要儲存少量資料,並且期望在程式設計期以最快的速度獲取單個資料, 推薦選擇字典。

2.當需要使用非物件格式儲存單個物件的屬性值,推薦選擇字典。

for迴圈用於對資料儲存模型進行訪問遍歷

for 變數名 in 列表:

變數相關操作

複製**

建立連續的整數

格式1:range(m) 生成 0 到 m-1 的整數

格式2:range(m,n) 生成 m 到 n-1 的整數

格式3:range(m,n,s) 生成 m 到 n-1 的整數,整數間隔為s

1.配合for迴圈構造指定次數的迴圈

for _ in range(..):

____迴圈執行的**

複製**

2.快速建立由連續的整數作為資料的列表、元組、集合物件

list(range(..))

tuple(range(..))

set(range(..))

資料結構巢狀指一種資料結構中包含的資料是另一種資料結構

獲取列表、元組或字串中的區域性資料

容器物件[開始索引:結束索引:步長]

省略開始索引:預設開始索引為0

範例:list1[:5:1] 等同於 list1[0:5:1]

省略結束索引:預設結束索引為資料總量

範例:list1[0::1] 等同於 list1[0:len(list1):1]

省略步長:每次遞增索引數為1

範例:list1[0:5:] 等同於 list1[0:5:1]

負數步長: 反向操作/反向步長操作,需要開始索引、結束索引逆序輸入

範例:list1[5:0:-1]

常見格式:

範例:list1[:5:] 獲取索引5之前的資料(不含5)

範例:list1[4::] 獲取索引4之後的資料(含4)

複製**

for 變數名 in 列表:

變數相關操作

else:

迴圈正常執行結束後執行的操作

複製**

1.如果for迴圈中執行了break語句,則else中的**將不執行

2.while迴圈同樣具有while…else語法格式

基礎語法格式:   迴圈變數 for 迴圈

範例:list1 = [data for data in range(5)]

資料處理語法格式: 表示式 for迴圈

範例:list1 = [data*5 for data in range(5)]

資料過濾語法格式: 表示式 for迴圈 if判斷

範例:list1 = [data for data in range(5) if data > 200]

複製**

推導式可以快速生成資料儲存結構中的資料

範例1:建立包含1到100所有整數的列表

list1 = [data for data in range(1,101)]

範例2:建立包含1到10的平方和的列表

list2 = [data**2 for data in range(1,11)]

範例3:建立字典,key從1到5,value是key的平方

dict1 = [(data,data**2) for data in range(1,6)]

複製**

PostgreSQL的資料儲存 八 資料儲存

在作業系統層面,資料儲存,只是一些二進位制資訊,這個層次,是不知道檔案內容的含義的。檔案的邏輯含義,取決於應用層面。資料庫系統的檔案組織,也如此。在外存儲存,以二進位制格式存放,讀寫檔案,以塊 8k 為單位,讀入的資料,存放與資料緩衝區,所以,資料的邏輯含義,始於資料緩衝區。在bufpage.h檔案...

資料的儲存

1.整形在記憶體中的儲存 1 在計算機系統中,整數統一用補碼來表示和儲存。原碼 直接將二進位制按照正負數的形式翻譯成二進位制。反碼 將原碼的符號位不變,其他位按位取反。補碼 反碼加1就得到補碼。正數的原碼,反碼,補碼都相同 2 在記憶體中儲存時,還有大小端儲存方式 大端 儲存 模式,是指資料的低位儲...

資料的儲存

計算機都是二進位制來儲存資料的。計算機用原碼,反碼,補碼來表示有符號數。資料有符號位和資料為,符號位有 0 和 1 1表示負數,0表示正數。原碼 直接將二進位制按照正負數的形式翻譯成二進位制就可以。反碼 將原碼的符號位不變,其他位依次按位取反就可以得到了。補碼 反碼 1就得到補碼。在這個簡單的程式中...