本文目錄一覽:
Python字典創建、基本操作以及常用方法
創建一個空字典自需要一對大括弧即可,從已有的鍵-值對映射或關鍵字參數創建字典需要使用 dict 函數(類)
把一個列錶轉為字典,列表的每一項都是長度為2的序列。
還可使用 關鍵字實參 (**kwargs)來調用這個函數,如下所示:
字典的基本操作與序列十分相似:
字典與序列的不同:
方法 clear 刪除所有的字典項(key-value)。
複製,得到原字典的一個新副本。
效果等同於調用 dict(d) 創建新字典。
copy() 執行的是 淺複製 ,若字典的值是一個可變對象,那麼複製以後,相同一個鍵將關聯到同一個對象,修改該對象,將同時修改兩個字典。
模塊copy中的函數deepcopy 可執行深複製。
方法fromkeys 創建一個新字典,其中包含指定的鍵,且每個鍵對應的值都是None,或者可以提供一個i額默認值。
方法get 為訪問字典項提供了寬鬆的環境。通常,如果你試圖訪問字典中沒有的項,將引發錯誤,而get直接返回None,或者可設置默認返回值。
當字典中不存在指定鍵時, setdefault(k,v) 添加一個指定鍵-值對;且返回指定鍵所關聯的值。
這三個方法返回值屬於一種名為 字典視圖 的特殊類型。字典視圖可用於迭代。另外,還可確定其長度以及對其執行成員資格檢查。
這三個方法自大的特點是不可變,當你的介面試圖對其他用戶提供一個只讀字典,而不希望他們修改的時候,這三個方法是很有用的;而且當原字典發生改變時,這些方法返回的對象也會跟著改變。
方法 pop 可用於獲取與指定鍵相關聯的值,並將該鍵-值對從字典中刪除。
popitem隨機刪除一個鍵-值對,並返回一個二維的元組 (key, value) ,因為字典是無序的,所以其彈出的順序也是不確定的。
書上說,這個方法在大數據量時執行效率很高,但沒有親測。
方法update 使用一個字典中的項來更新另一個字典。
python 如何將列錶轉為字典,key值相同則合併value
a=’齊建國 齊建國 齊二石 黃魯成 黃津孚’.split()
b=[13,33,38,26,31]
d={}
for x in range(len(a)):
if a[x] in d:
d[a[x]]+=[b[x]]
else:
d[a[x]]=[b[x]]
print(d)
在python中,列表,字典的相互轉換?
列表、元組、集合、字典相互轉換
一、列表元組轉其他
1、列錶轉集合(去重)
list1
=
[6,
7,
7,
8,
8,
9]
set(list1)
#
{6,
7,
8,
9}
2、兩個列錶轉字典
list1
=
[‘key1′,’key2′,’key3’]
list2
=
[‘1′,’2′,’3’]
dict(zip(list1,list2))
#
{‘key1’:
‘1’,
‘key2’:
‘2’,
‘key3’:
‘3’}
3、嵌套列錶轉字典
list3
=
[[‘key1′,’value1’],[‘key2′,’value2’],[‘key3′,’value3’]]
dict(list3)
#
{‘key1’:
‘value1’,
‘key2’:
‘value2’,
‘key3’:
‘value3’}
4、列表、元組轉字元串
list2
=
[‘a’,
‘a’,
‘b’]
”.join(list2)
#
‘aab’
tup1
=
(‘a’,
‘a’,
‘b’)
”.join(tup1)
#
‘aab’
二、字典轉其他
1、
字典轉換為字元串
dic1
=
{‘a’:1,’b’:2}
str(dic1)
#
“{‘a’:
1,
‘b’:
2}”
2、字典key和value互轉
dic2
=
{‘a’:
1,
‘b’:
2,
‘c’:
3}
{value:key
for
key,
value
in
a_dict.items()}
#
{1:
‘a’,
2:
‘b’,
3:
‘c’}
三、字元串轉其他
1、字元串轉列表
s
=
‘aabbcc’
list(s)
#
[‘a’,
‘a’,
‘b’,
‘b’,
‘c’,
‘c’]
2、字元串轉元組
tuple(s)
#
(‘a’,
‘a’,
‘b’,
‘b’,
‘c’,
‘c’)
3、
字元串轉集合
set(s)
#
{‘a’,
‘b’,
‘c’}
4、字元串轉字典
dic2
=
eval(“{‘name’:’ljq’,
‘age’:24}”)
5、切分字元串
a
=
‘a
b
c’
a.split(‘
‘)
#
[‘a’,
‘b’,
‘c’]
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/229123.html