pythondic
A. python DICT排序
1、dict中的順序是python自己確定的。代碼中aDict=sorted(...),sorted返加的是一個列表,每個項是一個(key,value)對,這個是有序的。但將該列表賦值給aDict,相當於調用aDict=dict(kv_list),又重新生成了dict,dict中的順序還是python默認的順序。
如果要按順序輸出,可以建一個key列表,對key列表排序,按排序的key輸出value。
2、dict中key是不能重復的。
B. Python中的字典是什麼
字典(Dictionary)
字典也是Python語言中經常使用的一種數據類型。跟列表類似,字典是另外一種可存儲任意類型的數據,並且字典儲存的數據也是可以修改的。
不同於列表的是,字典每個基本元素都包括兩個部分:鍵(key) 和 鍵對應的值(value)。
- d = {"key1" : 1, "key2" : "hi", "key3":[]}
在字典中,鍵的內容是不可重復的。鍵為不可變數據類型,值可以是任何數據類型。在這里,鍵只支持字元串類型。
字典最大的優勢就是能在海量數據下利用「鍵」快速查找出想要的值,當有很多數據需要存儲的時候,我們給每個值都打個標簽,也就是「鍵」;想要調用這個值時,字典能夠利用這個標簽快速幫我們找到它。但是如果標簽重復了,字典不知道哪個值才是對的,就會報錯哦~
列表是根據排序來記錄每項的值,但是字典是沒有順序的,所以同一字典,每次列印出的排序可能是不同的。「鍵」才是調用字典的關鍵元素。
字典是基礎的數據類型,所以變數也可以被賦值為字典。
鍵和值之間用冒號(:)分割,每對元素之間用逗號(,)分割,整個字典的數據在大括弧{}中,格式如下所示:
C. Python中的dict怎麼用
#字典的添加、刪除、修改操作
dict={"a":"apple","b":"banana","g":"grape","o":"orange"}
dict["w"]="watermelon"
del(dict["a"])
dict["g"]="grapefruit"
printdict.pop("b")
printdict
dict.clear()
printdict
#字典的遍歷
dict={"a":"apple","b":"banana","g":"grape","o":"orange"}
forkindict:
print"dict[%s]="%k,dict[k]
#字典items()的使用
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
#每個元素是一個key和value組成的元組,以列表的方式輸出
printdict.items()
#調用items()實現字典的遍歷
dict={"a":"apple","b":"banana","g":"grape","o":"orange"}
for(k,v)indict.items():
print"dict[%s]="%k,v
#調用iteritems()實現字典的遍歷
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
printdict.iteritems()
fork,vindict.iteritems():
print"dict[%s]="%k,v
for(k,v)inzip(dict.iterkeys(),dict.itervalues()):
print"dict[%s]="%k,v
#使用列表、字典作為字典的值
dict={"a":("apple",),"bo":{"b":"banana","o":"orange"},"g":["grape","grapefruit"]}
printdict["a"]
printdict["a"][0]
printdict["bo"]
printdict["bo"]["o"]
printdict["g"]
printdict["g"][1]
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
#輸出key的列表
printdict.keys()
#輸出value的列表
printdict.values()
#每個元素是一個key和value組成的元組,以列表的方式輸出
printdict.items()
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
it=dict.iteritems()
printit
#字典中元素的獲取方法
dict={"a":"apple","b":"banana","c":"grape","d":"orange"}
printdict
printdict.get("c","apple")
printdict.get("e","apple")
#get()的等價語句
D={"key1":"value1","key2":"value2"}
if"key1"inD:
printD["key1"]
else:
print"None"
#字典的更新
dict={"a":"apple","b":"banana"}
printdict
dict2={"c":"grape","d":"orange"}
dict.update(dict2)
printdict
#udpate()的等價語句
D={"key1":"value1","key2":"value2"}
E={"key3":"value3","key4":"value4"}
forkinE:
D[k]=E[k]
printD
#字典E中含有字典D中的key
D={"key1":"value1","key2":"value2"}
E={"key2":"value3","key4":"value4"}
forkinE:
D[k]=E[k]
printD
#設置默認值
dict={}
dict.setdefault("a")
printdict
dict["a"]="apple"
dict.setdefault("a","default")
printdict
#調用sorted()排序
dict={"a":"apple","b":"grape","c":"orange","d":"banana"}
printdict
#按照key排序
printsorted(dict.items(),key=lambdad:d[0])
#按照value排序
printsorted(dict.items(),key=lambdad:d[1])
#字典的淺拷貝
dict={"a":"apple","b":"grape"}
dict2={"c":"orange","d":"banana"}
dict2=dict.()
printdict2
#字典的深拷貝
import
dict={"a":"apple","b":{"g":"grape","o":"orange"}}
dict2=.deep(dict)
dict3=.(dict)
dict2["b"]["g"]="orange"
printdict
dict3["b"]["g"]="orange"
printdict
D. Python問題求助 dic如何賦值
d={}
withopen('mail.txt','r')asf:
forlineinf:
ifline==' ':
continue
word=line.split()
ifword[0]=='From':
ifword[1]ind:
d[word[1]]+=1
else:
d[word[1]]=1
maxf=list(d.keys())[0]
forkind:
ifd[k]>d[maxf]:
maxf=k
print(maxf,d[maxf])
我用Python3,不過在字典添加東西的語法一樣
dict['key'] = 123
值加一的語法
dict['key'] = dict['key'] + 1
或者
dict['key'] += 1
E. python中用dict取值的時候有什麼注意的
字典中取值大家很容易想到用dict[key],這個有什麼難的,確實一般取值是這樣的,但是你有沒有想過若你取的值不存在,就會發生異常,風險很大.(良好的代碼,一定是要考慮健壯性,切記)
建議:盡量用dict.get()來代替dict[key]!
F. python字典如何添加字典
python字典添加字典的方法:
1、首先建立一個新的字典
2、調用updata()函數,把新字典裡面的鍵值對更新到dict里
3、列印dict,字典添加成功。
結果如下
G. python字典問題
H. python中dict怎麼用
dict1 = {'a':1, 'b':2,'c':'sdfs'}
dict1['a'] ==> 1
dict1['b'] ==> 2
dict1['d'] = 'ddd'
==>
dict1 = {'a':1, 'b':2,'c':'sdfs','d':ddd}
I. python字典列表和列表字典
最本質的區別:第一種方法得出的a是列表,而第二種的a是字典
用python語句表達來看就是:
1.type(a) == list
2.type(a) == dict
在互動式界面下顯示:
第一種:
>>> a
[{'name':'fokil'}]
此時a是一個列表,他具有列表的一切方法和屬性,但不具備任何字典的方法和屬性。列表可以有N個元素,元素的類型是任意的,與列表本身無關。而此時的a有一個元素,該元素是一個字典——但這並不代表整個列表a帶有任何字典的性質。明白?
第二種:
>>> a
{'name':['fokil']}
同上,此時a是一個字典,具有字典的一切方法和屬性,但不具備任何列表的方法和屬性。字典可以有N個元素,每個元素由一對key和內容的組合構成。key可以是任何單一對象的類型(不能是列表或字典——但可以是元組。當然,還可以是數字、字元/字元串,甚至是文件對象),而key對應的內容則可以是任意類型的。在此時,a中只有一個元素,key是一個字元串,而內容則是一個含有一個字元串元素的列表——同樣,這不意味著a具有任何的列表性質
總而言之,嚴格的講:沒有「字典列表」或「列表字典」這種概念
只有一個列表,他包含的元素的類型是字典——當然,列表中的元素可以是不同類型的,譬如:
a = [1, 'test', [2,3,4], {'name':'fokil'}]
同理,只有一個字典,他包含的元素中的一部分是列表(當然,key部分不可能是列表)。當然,也有可能是不同類型的元素:
a = {1:'b',(1,2,3):[4,5,6],'test':{'test2':['test3']}}
J. python dic value 是string嗎
可以是任意類型