重走py 之路 ——字典和集合(二)

前言

python 中有6大標準類型:

數字(Number)
字符串(String)
列表(List)
元組(Tumple)
集合(Set)
字典(Dictionary)

前面已經介紹了上面4種,還有下面兩種來介紹一下。

正文

字典

字典看起來非常像json,是的非常非常像,但是我們起碼需要明白的是json是一個字符格式,而字典是一種數據結構。

區別:

1)json的key只能是字符串,dict的key可以是任何可hash的對象,例如:字符串、數字、元組等。

2)json的key可以是有序、重複的;dict的key不可重複;

3)json的value只能是字符串、浮點數、布爾值或者null,或者它們構成的數組或者對象;

4)json任意key存在默認值undefined,dict默認沒有默認值;

5)json訪問方式可以是[],也可以是.,遍歷方式分in,of; dict的value僅僅可以下標訪問;

6)dict可以嵌套tuple,json裏只有數組

7)json:true、false、null

8)dict:True、False、None

9)json中文必須是unicode編碼,如“\u6211”

10)json的類型時字符串,字典的類型是dict

總之,他們只是看起來像而已,但是並沒有什麼血緣關係,可以看做異父異母的親兄弟吧。

創建一個字典:

# coding: utf-8
test1={'name':"zhang san",
    'age':18
}
print(test1);

這樣就ok了,是的沒有錯,這樣就建立了一個字典。

值得注意的是,我在上面註釋了一行:coding: utf-8,如果沒有這個python 無法解析中文,並給你拋出一個異常。

如果你新增一個值,那麼:

# coding: utf-8
test1={'name':"zhang san",
    'age':18
}
test1["school"]="primary";
print(test1);

這樣就可以了,你的key和value 可以是任意類型的值,這和靜態語言不一樣。

你可以在字典中套用列表:

# coding: utf-8
test1={'name':"zhang san",
    'age':18
}
test1["school"]="primary";
test1["friend"]=["tony","tom","lily"];
print(test1);

當然,你還可以在列表中套用字典。

# coding: utf-8
test1={'name':"zhang san",
    'age':18
}
test1["school"]="primary";
test1["friend"]=["tony","tom","lily"];
student=[test1];
print(student);

[{'age': 18, 'name': 'zhang san', 'friend': ['tony', 'tom', 'lily'], 'school': 'primary'}]

你會發現,它對數據的支持真的太好了,如果你有一些數據的功能需要處理,python覺得是一個很好的選擇。

集合

創建一個集合同樣非常的簡單:

# coding: utf-8
test1={"1",1}
print(test1);

輸出:set(['1', 1])

沒錯,就是一個大括號,然後裏面寫了一些object,接着set就生成了。

set 有一些函數,需要都去試一試,你會發現一些非常方便的功能,這樣你在開發的時候就不用查找某個查詢該怎麼寫,事實上大部分都提供了。

next Function

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章