列表是一種儲存大量資料的儲存模型。
列表具有索引的概念,可以通過索引操作列表中的資料。列表中的資料可以進行新增、刪除、修改、查詢等操作。
建立列表: 變數名 = [資料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就得到補碼。在這個簡單的程式中...