給你看看這個(gè)字典 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素沒有順序,所以dic[0]是有語法錯(cuò)誤的。并且不可以有重復(fù)的鍵值,所以 dic.add['c'] = 4后,字典變成 {'a':1 , 'b':2 , 'c': 4}.現(xiàn)思考如下:如何根據(jù)需要可以根據(jù)“鍵”或“鍵值”進(jìn)行不同順序的排序?函數(shù)原型:sorted(dic,value,reverse)解釋:dic為比較函數(shù),value 為排序的對象(這里指鍵或鍵值), reverse:注明升序還是降序,True--降序,F(xiàn)alse--升序(默認(rèn))案例:dic = {'a':1 , 'b':2 , 'c': 3}1.print sorted(dic.iteritems(), key = lambda asd:asd[0] ,reverse = True)#結(jié)果:[('c', 3), ('b', 2), ('a', 1)]2.print sorted(dic.iteritems(), key = lambda asd:asd[0] )#結(jié)果:[('a', 1), ('b', 2), ('c', 3)] ,默認(rèn)(升序)3.print sorted(dic.iteritems(), key = lambda asd:asd[1] )#結(jié)果:[('a', 1), ('b', 2), ('c', 3)]這里介紹兩個(gè)函數(shù):1.lambda案例:fuc = lambda x:x+ 2print fuc(3) #結(jié)果5,意思對于x ,返回 x + 22.iteritems()案例:dic = {'a':1 , 'b':2 , 'c': 3}print dic.iteritems() # 返回字典鍵-值對的一個(gè)迭代器在函數(shù)sorted(dic.iteritems(), key = lambda asd:asd[1])中,第一個(gè)參數(shù)傳給第二個(gè)參數(shù)“鍵-鍵值”,第二個(gè)參數(shù)取出其中的鍵(【0】)或鍵值(【1】)
創(chuàng)新互聯(lián)基于成都重慶香港及美國等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性價(jià)比高,為金融證券行業(yè)雅安服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專業(yè)成都idc公司。
問題沒看懂,嘗試如下回答。
如果單純的打印dic類型的變量
d=(1,3,5)
print(d)
(1,?3,?5)
2. 如果是使用函數(shù)打印dic類型的變量
d=(1,3,5)
def?print_dic(dic):
for?i?in?dic:
print(i)
print_dic(d)
運(yùn)行結(jié)果:
1
3
5
python的內(nèi)建函數(shù)即是python自帶的函數(shù),這種函數(shù)不需要定義,并且不同的內(nèi)建函數(shù)具有不同的功能,可以直接使用。
以下是部分內(nèi)建函數(shù)用法及說明
1、abs(),返回?cái)?shù)字的絕對值。
2、all(),如果集合中所有元素是true或集合為空集合,返回True。
3、any(),如果集合中有一項(xiàng)元素是true,返回True;空集合為False
4、ascii(), 返回一個(gè)表示對象的字符串。
5、bin(),將整數(shù)轉(zhuǎn)換為前綴為“0b”的二進(jìn)制字符串。
6、bool(),返回一個(gè)布爾值,即True或者之一False。
7、bytearray(),返回一個(gè)新的字節(jié)數(shù)組。
8、callable(對象)判斷對象參數(shù)是否可被調(diào)用(可被調(diào)用指的是對象能否使用()括號的方法調(diào)用)
9、chr(),返回表示Unicode代碼點(diǎn)為整數(shù)i的字符的字符串。與ord()函數(shù)相反。
推薦學(xué)習(xí)《python教程》
10、classmethod,將方法轉(zhuǎn)換為類方法。
11、compile,將源代碼編譯為代碼或AST對象。代碼對象可以由exec()或執(zhí)行eval()。 source可以是普通字符串,字節(jié)字符串或AST對象。
12、dic(),創(chuàng)建一個(gè)字典
13、divmod(a,b),將兩個(gè)數(shù)作為參數(shù),并在使用整數(shù)除法時(shí)返回由商和余數(shù)組成的一對數(shù)
14、enumerate(iterable,start = 0)
enumerate是枚舉、列舉的意思
對于一個(gè)可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個(gè)索引序列,利用它可以同時(shí)獲得索引和值
enumerate多用于在for循環(huán)中得到計(jì)數(shù)
15、eval,將一個(gè)字符串變?yōu)樽值?/p>
16、exec(object [, globals[, locals]])exec語句用來執(zhí)行儲(chǔ)存在字符串或文件中的Python語句
17、filter(功能,可迭代)
filter函數(shù)用于過濾序列
filter()把傳入的函數(shù)依次作用于每個(gè)元素,然后根據(jù)返回值是True還是False決定保留還是丟棄該元素。
for i in range(參數(shù)):
dic["index"] = str(i)
dic["itemName"] = 'test'
以此類推...
lis.append(dic)
具體函數(shù)有 set(),pop(),update(),items(),keys(),values(),get(),setdefault()
python 字典操作
假設(shè)字典為 dics = {0:'a', 1:'b', 'c':3}
二是使用dict本身提供的一個(gè) get 方法,在Key不存在的時(shí)候,返回None:
print dics.get('a')
print dics.get('Paul')
None
dict.get(key,default=None) 兩個(gè)選項(xiàng) 一個(gè) key 一個(gè) default= None ----default可以是任何strings(字符)
2.從字典中取值,若找到則刪除;當(dāng)鍵不存在時(shí),顯示異常key error
[方法]? dics.pop('key')
3.給字典添加一個(gè)條目。如果不存在,就指定特定的值;若存在,就算了。
[方法] dic.setdefault(key, value)
4. update
a = {'a':1,'b':2}
a.update({'c':3})
a
{'a': 1,'c': 3,'b': 2}
a.update({'c':4})
a
{'a': 1,'c': 4,'b': 2}
dict的作用是建立一組 key 和一組 value 的映射關(guān)系,dict的key是不能重復(fù)的。
有的時(shí)候,我們只想要 dict 的 key,不關(guān)心 key 對應(yīng)的 value,目的就是保證這個(gè)集合的元素不會(huì)重復(fù),這時(shí),set就派上用場了。