swift Dictionary 字典學習

2021-09-30 14:35:53 字數 2900 閱讀 9602

import foundation

println("字典

") /*

字典是一種儲存相同型別多重資料的儲存器。每個值(value)都關聯獨特的鍵(key),鍵作為字典中的這個值資料的識別符號。和陣列中的資料項不同,字典中的資料項並沒有具體順序。我們在需要通過識別符號(鍵)訪問資料的時候使用字典

*///(1)建立乙個字典

vardic:

dictionary

<

string

,string

>=["三國演義":"羅貫中","水滸傳":"施耐庵","紅樓夢":"曹雪芹","西遊記":"吳承恩"];

println(

dic);

//執行結果:[三國演義: 羅貫中, 水滸傳: 施耐庵, 紅樓夢: 曹雪芹, 西遊記: 吳承恩]

//(2)訪問字典

var name=dic["

三國演義

"];println(

name);

//執行結果:羅貫中

//(3)向字典中新增鍵值

var student:dictionary

= ["

小明":10001,"

小華":10002,"

小紅":10003];  // 

宣告乙個學生字典鍵: 

姓名值:學號

//新增

student["理想

"]=10004;

println(

student);

//執行結果:[小華: 10002, 小紅: 10003, 小明: 10001, 理想: 10004]

//修改

student

.updatevalue

(12345

,forkey:"理想

");  // 將理想的學號改為12345  updatevalue() 這個方法返回更新值之前的原值。這樣方便我們檢查更新是否成功

println(

student);

//執行結果:[小華: 10002, 小紅: 10003, 小明: 10001, 理想: 12345]

//刪除

student

.removevalueforkey("理想

"); 

//將理想刪除

println(

student);

//執行結果:[小華: 10002, 小紅: 10003, 小明: 10001]

//獲得鍵對應的值

let value = student["

小明"]; //

將理想刪除

println

("小明

的 value 為

\(value

)");

//執行結果: 小明

的 value 為 10001

//(4)遍歷  for in 字典

會以元組(鍵,值)的形式返回

for (key,value) in

student

//無序

//執行結果: /*

鍵:小華

值:10002

鍵:小紅

值:10003

鍵:小明

值:10001

*///或者

for tuples in

student

//無序

//我們也可以通過訪問他的keys或者values屬性(都是可遍歷集合)檢索乙個字典的鍵或者值

for key in

student.keys

//執行結果: /*

key=:小華

key=:小紅

key=:小明 */

for value in

student.values

//執行結果: /*

key=:10002

key=:10003

key=:10001

*///(5)通過構造方法建立字典

var namesofintegers = dictionary

()//(6)字典型別的賦值和拷貝行為

/*注意:字典和陣列的拷貝是不同的

1.無論何時將乙個字典例項賦給乙個常量或變數,或者傳遞給乙個函式或方法,這個字典會即會在賦值或呼叫發生時被拷貝。

2.如果字典例項中所儲存的鍵(keys)和/或值(values)是值型別(結構體或列舉),當賦值或呼叫發生時,它們都會被拷貝。相反,如果鍵(keys)和/或值(values)是引用型別,被拷貝的將會是引用,而不是被它們引用的類例項或函式

*/var student2=student;  // 

字典賦值

println

("  student 為:\(

student

)\n student2 為:\(

student2

) "); /*

執行結果:

student  為:[小華: 10002, 小紅: 10003, 小明: 10001]

student2 為:[小華: 10002, 小紅: 10003, 小明: 10001]

*/student

.updatevalue

(12345

,forkey:"小明

"); // 改變 student 中

小明的 value  student2不會改變

println

("  student 為:\(

student

)\n student2 為:\(

student2

) "); /*

執行結果:

student 為: [小華: 10002, 小紅: 10003, 小明: 12345]

student2 為:[小華: 10002, 小紅: 10003, 小明: 10001]

*/

Python字典dictionary的學習

無序可變序列,不是通過索引來訪問的。而是通過鍵來訪問。字典是無序的,各項是從左到右隨機排序的 在字典中的位置沒有特定順序 字典中的鍵必須唯一不允許同乙個鍵出現兩次,如果出現兩次則後乙個值會被儲存。字典中的鍵是不可變的 字典中的鍵可以使用數字,字串,元組,但是不可以用列表 宣告方式 dic 建立空的字...

python基礎語法速查速學 字典

字典的定義 info 字典的訪問 print info name print info age 吳彥祖 18print info gender keyerror traceback most recent call last in 1 直接訪問,不存在的鍵會報錯 2 print info gende...

從0開始學swift 陣列與字典

vararr string 已經初始化的陣列賦空 arr 使用布林項isempty來作為檢查count屬性的值是否為0的捷徑。if arr.isempty letarr string 1 2 3 通過count屬性檢查陣列長度 print arr.count 3 注 其實為了保證可讀性,個人習慣在宣...