一.字典
1.建立字典
「字典」定義語法為
其中每乙個元素是乙個「鍵值對」- 鍵:值 (key:value)
關鍵點是「大括號 {}」,「逗號 ,」和「冒號 :」
dict1 =
print
(dict1[
'國家'],
type
(dict1)
)中國 <
class
'dict'
>
字典是無序的 鍵:值對(key:value 對)集合,鍵必須是互不相同的(在同乙個字典之內)。
2.字典的內建方法
(1)dict.fromkeys(seq[, value]) 用於建立乙個新字典,以序列 seq 中元素做字典的鍵,value 為字典所有鍵對應的初始值。
key1 =(1
,2,3
)value1 =
'陳平安'
dict4 =
dict
.fromkeys(key1,value1)
print
(dict4)
dict4[1]
='寧'
print
(dict4)
可以通過對dict[key]賦值改變對應的value
(2)dict.keys()返回乙個可迭代物件
dict.values()返回乙個迭代器。
dict.items()以列表返回可遍歷的(鍵, 值) 元組陣列。
dict.get(key, default=none)返回指定鍵的值,如果值不在字典中返回預設值。
dict1 =
print
(dict1.keys())
print
(dict1.values())
print
(dict1.items())
print
(dict1.get(
'城市'
),dict1.get(
'學校'))
dict_keys(
['國家'
,'省份'
,'城市'])
dict_values(
['中國'
,'河北'
,'保定'])
dict_items([(
'國家'
,'中國'),
('省份'
,'河北'),
('城市'
,'保定')]
)保定 none
(3)key in dict in 操作符用於判斷鍵是否存在於字典中,如果鍵在字典 dict 裡返回true,否則返回false。而not in操作符剛好相反,如果鍵在字典 dict 裡返回false,否則返回true。
dict.pop(key[,default])刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key 值必須給出。 否則,返回 default 值。
del dict[key] 刪除字典給定鍵 key 所對應的值。
dict1 =
print
('學校'
in dict1,
'國家'
notin dict1)
#false false
print
(dict1.pop(
'國家'
),dict1)
#中國
del dict1[
'省份'
]print
(dict1)
#print
(dict1.popitem(
),dict1)
#('特色', 'haze')
print
(dict1.setdefault(
'resort'
,none
),dict1)
#none
dict2 =
dict1.update(dict2)
print
(dict1)
#print
(dict1.clear(
),dict1)
#none {}
dict.popitem()隨機返回並刪除字典中的一對鍵和值,如果字典已經為空,卻呼叫了此方法,就報出keyerror異常。
dict.setdefault(key, default=none)和get()方法 類似, 如果鍵不存在於字典中,將會新增鍵並將值設為預設值。
dict.update(dict2)把字典引數 dict2 的 key/value(鍵/值) 對更新到字典 dict 裡
(4)dict.copy()返回乙個字典的淺複製。
用 id(x) 函式,對 x 進行某種操作,比較操作前後的 id,如果不一樣,則 x 不可變,如果一樣,則 x 可變。
dict1 =
dict2 = dict1.copy(
)dict3 = dict1
print
(dict1,
id(dict1)
)print
(dict2,
id(dict2)
)print
(dict3,
id(dict3)
)dict1[
'城市']=
'廊坊'
print
(dict1,
id(dict1)
)print
(dict2,
id(dict2)
)print
(dict3,
id(dict3)
)1490241957384
1490241957144
1490241957384
1490241957384
1490241957144
1490241957384
二.集合
1.建立集合
set也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。
set1 =
set(
['first'
,'sec'
,'thi'])
for item in set1:
print
(item,end=
' ')
print
('fir'
in set1)
可以使用for把集合中的資料乙個個讀取出來。
可以通過in或not in判斷乙個元素是否在集合中已經存在
(2)集合的內建方法
set.add(elmnt)用於給集合新增元素。
set.remove(item)用於移除集合中的指定元素。
set.update(set)用於修改當前集合,可以新增新的元素或集合到當前集合中,如果新增的元素在集合中已存在,則該元素只會出現一次,重複的會忽略。
set1 =
set2 =
set3 =
set2.add(
'r')
print
(set2)
#set1.remove(
'j')
print
(set1)
#set1.update(set3)
print
(set1)
#print
(set3.intersection(set2)
)#set()
print
(set3.union(set2))#
print
(set1.difference(set3))#
print
(set3.issubset(set1)
)#true
print
(set1.issuperset(set3)
)#true
set.intersection(set1, set2 …)用於返回兩個或更多集合中都包含的元素,即交集。
set.union(set1, set2…)返回兩個集合的並集,即包含了所有集合的元素,重複的元素只會出現一次。
set.difference(set) 返回集合的差集,即返回的集合元素包含在第乙個集合中,但不包含在第二個集合(方法的引數)中。
set.issubset(set)用於判斷集合的所有元素是否都包含在指定集合中,如果是則返回 true,否則返回 false。
set.issuperset(set)用於判斷指定集合的所有元素是否都包含在原始的集合中,如果是則返回 true,否則返回 false。
(3)不可變集合
frozenset([iterable]) 返回乙個凍結的集合,凍結後集合不能再新增或刪除任何元素。
a =
frozenset
(range(10
))# 生成乙個新的不可變集合
print
(a)# frozenset()
b =frozenset
('lsgogroup'
)print
(b)# frozenset()
原文參考: Python基礎筆記 字典
1,字典是一種可變的 無序的 鍵值對的 複雜的資料容器 2,字典是一種可變的容器模型,且可儲存任意型別物件。字典的每個鍵值key value對用冒號 分割,每個鍵值對之間用逗號,分割,整個字典包括在花括號 中。3,其中鍵是唯一的,如果重複最後的乙個鍵值對會替換前面的,4,值可以取任意資料型別,但鍵必...
python學習筆記 字典
方法一 dict1 dict2 dict1,dict2 方法二 從python 2.2 版本起,可以使用乙個工廠方法,傳入乙個元素是列表的元組作為引數 fdict dict x 1 y 2 fdict 方法三 從python 2.3 版本起,可以用乙個很方便的內建方法fromkeys 來建立乙個 預...
Python學習筆記 字典
1 字典的定義 dictionary 字典 是除列表以外python之中最靈活的資料型別 字典同樣可以用來儲存多個資料 通常用於儲存描述乙個物體的相關資訊 和列表的區別 列表是有序的物件集合 索引,即從0開始,依次遞增 字典是無序的物件集合 字典的定義用 字典使用 鍵值對 儲存資料,鍵值對之間使用逗...