一.已知:元組 a = (1,2,3) 利用list方法,輸出下面的結(jié)果:(1,2,4)
創(chuàng)新互聯(lián)公司是一家以成都網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計、品牌設(shè)計、軟件運維、seo優(yōu)化排名、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計為加固等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。二. 已知:b = [9,5,36,25,4,1,2]
1.求出列表b的長度,大值,最小值。
2.取值:取出25
3.切片:輸出[5,36,25]
4. 刪除:刪除列表中25這個數(shù)字
5.擴充:將列表c =[7,6,11]擴充到列表b中
6. 排序:對b列表進行從小到大的排序輸出,然后再反向使列表從大到小輸出
7. 插入:將26插入到列表中,
使得最后輸出結(jié)果為:b = [36, 26, 11, 9, 7, 6, 5, 4, 2, 1]
========================================================================
一、已知字典ainfo = {'name':'lily','age':20}
1.加入兩項使得輸出的結(jié)果:
ainfo = {'name':'lily','age':20,'gender':'female','class':8}
2.訪問字典中的所有項,訪問字典的鍵,訪問字典中的值
二、將這三項內(nèi)容創(chuàng)建字典,按下面規(guī)則添加到同一個對象中:
(name = 'lily',age= '20,gender = 'female',class = 8)
(name ='jack',age= 25,gender ='male',class =8)
(name ='jane',age= 19,gender ='female',class =8)
1.將這三項內(nèi)容創(chuàng)建的三個字典放到一個列表里。
2.將這三項內(nèi)容創(chuàng)建的三個字典放到一個字典里,要求字典以個人姓名為鍵,其他信息組成的字典為姓名這個鍵所對應(yīng)的值。(字典里面嵌套字典)
例如info = {'lily':{'age':20,'gender':'female','class':8}}
=================================華麗的分隔符=================================
>>> # 一.已知:元組 a = (1,2,3) 利用list方法,輸出下面的結(jié)果:(1,2,4)
>>> a = (1,2,3)
>>> a = list(a) #給a 這個對象強制轉(zhuǎn)換為list數(shù)據(jù)類型,再給這個對象起個 a的名字。
>>> print a #打印a這個對象
[1, 2, 3]
>>> #題目要求輸出結(jié)果為(1,2,3)分析知道結(jié)果對象為tuple類型,list()可以使用remove移除子串3或者pop方法出棧最后一個子串,然后使用append追加對象4.
>>> a.pop()
3
>>> a.append(4)
>>> print a #打印a對象,我們會發(fā)現(xiàn)跟題目結(jié)果不一樣,我們這里還需要轉(zhuǎn)換一下tuple類型
[1, 2, 4]
>>> a = tuple(a) #給a 這個對象強制轉(zhuǎn)換為tuple數(shù)據(jù)類型,再給這個對象起個 a的名字。
>>> print a #我們再來看結(jié)果
(1, 2, 4)
>>> #remove方法類型,唯一區(qū)別是remove()傳參為子串對象,而pop()傳參為index。
>>>
>>> #二. 已知:b = [9,5,36,25,4,1,2]
>>> b = [9,5,36,25,4,1,2]
>>> #求出列表b的長度,大值,最小值。
>>> len(b) #長度
7
>>> max(b) #大值 max方法是使用iterable迭代b對象的參數(shù),返回其大的item?;蛘呤褂脙蓚€或兩個以上的實參,返回大的實參。
36
>>> min(b) #最小值 min()方法和max()一樣都是使用iterable迭代b對象的實際參數(shù)(argument),返回其最小的item。或者使用兩個或兩個以上的實參(argument),返回最小的實參(argument)。
1
>>> #max() min() 方法返回的為value。
>>> #2.取值:取出25
>>> b[3] #此題可以使用索引,正向索引或者反向索引
25
>>> b[-4] #反向索引
25
>>> #3.切片:輸出[5,36,25]
>>> b[1:4] #index切片,切片分為正向索引切片和反向索引切片。
[5, 36, 25]
>>> b[-6:-3] #反向索引切片,切片格式為[start:end:step]不寫step,默認為1。
[5, 36, 25]
>>> #4. 刪除:刪除列表中25這個數(shù)字
>>> b.remove(25) #操作方法L.remove(value) ,刪除第一次出現(xiàn)的值(value),如果發(fā)現(xiàn)L.remove(value) value == vlaue,就是值不存在,則報錯 ValueError: 錯誤。我查看了幫助 告訴我“Raises ValueError if the value is not present.” Raises百度翻譯的結(jié)果是舉起提起。不明白這里為什么不是return返回。
>>> print b #打印 b 對象。
[9, 5, 36, 4, 1, 2]
>>> #5.擴充:將列表c =[7,6,11]擴充到列表b中
>>> c =[7,6,11]
>>> b.extend(c) #L.extend(iterable),通過iterable迭代器追加到b對象的擴展列表。
>>> print b #打印b對象的結(jié)果。
[9, 5, 36, 4, 1, 2, 7, 6, 11]
>>> #我們發(fā)現(xiàn)[7,6,11]是按照順序擴展到尾部。這正是通過iterable迭代添加到 b 對象。
>>> #6. 排序:對b列表進行從小到大的排序輸出,然后再反向使列表從大到小輸出
>>> #考慮了一個python提供了兩種排序方式列表方法的成員sort,內(nèi)置函數(shù)sorted
>>> #sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list 從幫組中了解到sorted提供了一個迭代器,cmp(compare)是比較函數(shù),比較什么由key決定,有默認值,迭代集合中的一項;
>>> #key:用列表元素的某個屬性和函數(shù)進行作為關(guān)鍵字,有默認值,迭代集合中的一項;
>>> #reverse:排序規(guī)則. reverse = True 或者 reverse = False,有默認值。
>>> #返回值:是一個經(jīng)過排序的可迭代類型,與iterable一樣。
>>> #我們看到sorted返回值為new sorted list ,一個新產(chǎn)生的列表。
>>> #sort方法:L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
>>> #cmp(x, y) -> -1, 0, 1
>>> #關(guān)于cmp比較函數(shù),我還了解的比較淺,根據(jù)百度得到的知識記錄下來:
>>> #可以認為是compare(比較)的意思。在進行比較的時候?qū)€數(shù)做減法運算,這個運算是影響符號位的,(大數(shù)減小數(shù),符號位為+,反則為-)所以執(zhí)行該指令后你可以通過查詢符號位CF是0還是1就可以知道兩個數(shù)那個大了。根據(jù)匯編知識里了解到,不知python是否適用,以后精通后,有能力再回頭看看源碼。這里知識表示看不懂?。?!了解怎么用是現(xiàn)在的目標。
>>> b.sort(b)
Traceback (most recent call last):
File "<pyshell#292>", line 1, in <module>
b.sort(b)
TypeError: 'list' object is not callable
>>> #b.sort() #唉,上面?zhèn)髁隋e誤的參數(shù)返回報錯,默認參數(shù)help里可以看到。
>>> b.sort()
>>> print b #打印 對象 b
[1, 2, 4, 5, 6, 7, 9, 11, 36]
>>> #為了模擬sorted,剛好之前無意學了一點random函數(shù),使用random打亂b對象列表里值的順序。
>>> #查看幫助,告訴我們shuffle屬性 將list 列表 x in place;應(yīng)該是一個for循環(huán)重新隨機放置遍歷到的值,return None。下面我們使用一下。
>>> #shuffle(self, x, random=None) 再解釋一下這個方法self調(diào)用自己這個函數(shù),x 是傳參的list的名字。random=None,默認參數(shù)。
>>> random.shuffle(b)
Traceback (most recent call last):
File "<pyshell#299>", line 1, in <module>
random.shuffle(b)
NameError: name 'random' is not defined
>>> import random #悲劇了,他告訴我們random沒有定義,我們import 導入一下。
>>> random.shuffle(b) #將b這個對象傳入到參數(shù)。
>>> print b #打印對象b 查看結(jié)果
[5, 36, 2, 7, 11, 9, 4, 1, 6]
>>> sorted(b) #sorted進行重新排序
[1, 2, 4, 5, 6, 7, 9, 11, 36]
>>> #注意??!我們使用了sorted他是有返回值的。那么說說它與sort的區(qū)別吧。
>>> #sorted是python內(nèi)置函數(shù),注意觀察顏色,sort是list的成員方法。sorted是生成一個新的列表,而sort是對元素列表原位排序,這個方法改變列表,而不是返回排序后的列表,所有我們使用sort()方法后,它沒有返回。而sorted則返回了值。
>>> #7. 插入:將26插入到列表中,使得最后輸出結(jié)果為:b = [36, 26, 11, 9, 7, 6, 5, 4, 2, 1]
>>> #少了一個方向排序,reverse
>>> b.reverse() #L.reverse() -- reverse *IN PLACE* 循環(huán)反向放置
>>> print b #打印 對象 b 查看結(jié)果。
[6, 1, 4, 9, 11, 7, 2, 36, 5]
>>> b.sort()
>>> b
[1, 2, 4, 5, 6, 7, 9, 11, 36]
>>> b.reverse()
>>> b
[36, 11, 9, 7, 6, 5, 4, 2, 1]
>>> print b
[36, 11, 9, 7, 6, 5, 4, 2, 1]
>>>
>>> #7. 插入:將26插入到列表中,使得最后輸出結(jié)果為:b = [36, 26, 11, 9, 7, 6, 5, 4, 2, 1]
>>> b.insert(1,26) #L.insert(index, object) -- insert object before index,insert方法前面為要插入對象index的前面。
SyntaxError: invalid syntax
>>> b
[36, 11, 9, 7, 6, 5, 4, 2, 1]
>>> b.insert(1,26)
>>> #前面報錯,仔細發(fā)現(xiàn)是逗號使用中文半角了。
>>>
>>>
>>> #==================華麗的分隔符===========================
>>> #一、已知字典ainfo = {'name':'lily','age':20}
>>> #1.加入兩項使得輸出的結(jié)果:ainfo = {'name':'lily','age':20,'gender':'female','class':8}
>>> ainfo = {'name':'lily','age':20}
>>> ainfo['gender'] = 'female'; ainfo['class'] = 8
>>> ainfo #查看結(jié)果
{'gender': 'female', 'age': 20, 'name': 'lily', 'class': 8}
>>> #字典集合無序,元組字符串序列有序
>>> #2.訪問字典中的所有項,訪問字典的鍵,訪問字典中的值
>>> ainfo.items() #字典的項格式為鍵值對的元組的列表
[('gender', 'female'), ('age', 20), ('name', 'lily'), ('class', 8)]
>>> ainfo.keys() #字典keys的列表
['gender', 'age', 'name', 'class']
>>> ainfo.values() #字典中的值 values列表
['female', 20, 'lily', 8]
>>> #二、將這三項內(nèi)容創(chuàng)建字典,按下面規(guī)則添加到同一個對象中:
>>> #(name = 'lily',age= '20,gender = 'female',class = 8)
>>> #(name ='jack',age= 25,gender ='male',class =8)
>>> #(name ='jane',age= 19,gender ='female',class =8)
>>> #1.將這三項內(nèi)容創(chuàng)建的三個字典放到一個列表里。
>>> binfo = {name:'jack',age:25,gender:'male','class':8}
Traceback (most recent call last):
File "<pyshell#339>", line 1, in <module>
binfo = {name:'jack',age:25,gender:'male','class':8}
NameError: name 'name' is not defined
>>> binfo = {'name':'jack','age':25,'gender':'male','class':8}
>>> cinfo = {'name' ='jane','age'= 19,'gender' ='female','class' =8}
SyntaxError: invalid syntax
>>> cinfo : {'name':'jane','age':19,'gender':'female','class':8}
SyntaxError: invalid syntax
>>> cinfo = {'name':'jane','age':19,'gender':'female','class':8}
>>> #分析,根據(jù)所學的知識,D.items()方法返回值為列表格式元組鍵值對,然后將結(jié)果對象起個名字,再將對象使用list.extend()方法擴展。
>>> a = ainfo.items()
>>> b = binfo.items()
>>> c = cinfo.items()
>>> print a #打印結(jié)果
[('gender', 'female'), ('age', 20), ('name', 'lily'), ('class', 8)]
>>> print b
[('gender', 'male'), ('age', 25), ('name', 'jack'), ('class', 8)]
>>> print c
[('gender', 'female'), ('age', 19), ('name', 'jane'), ('class', 8)]
>>> a.extend(b)
>>> a.extend(c)
>>> print a #查看最后的結(jié)果就是題目要求的三個字典放在一個列表里了。
[('gender', 'female'), ('age', 20), ('name', 'lily'), ('class', 8), ('gender', 'male'), ('age', 25), ('name', 'jack'), ('class', 8), ('gender', 'female'), ('age', 19), ('name', 'jane'), ('class', 8)]
>>> #2.將這三項內(nèi)容創(chuàng)建的三個字典放到一個字典里,要求字典以個人姓名為鍵,其他信息組成的字典為姓名這個鍵所對應(yīng)的值。(字典里面嵌套字典)
>>> #例如info = {'lily':{'age':20,'gender':'female','class':8}}
>>> ainfo={'name': 'lily','age':20,'gender':'female','class':8} #創(chuàng)建字典ainfo
>>> binfo={'name':'jack','age':25,'gender':'male','class':8} #創(chuàng)建字典binfo
>>> cinfo={'name':'jane','age':19,'gender':'female','class':8} #創(chuàng)建字典cinfo
>>> dic={} #初始化一個字典dic
>>> dic[ainfo.pop('name')]=ainfo #添加一個新值(value)ainfo,key 為ainfo.pop('name')的對象。
>>> dic[binfo.pop('name')]=binfo #添加一個新值(value)binfo,key 為binfo.pop('name')的對象。
>>> dic[cinfo.pop('name')]=cinfo #添加一個新值(value)cinfo,key 為cinfo.pop('name')的對象。
>>> print dic #打印dic字典看結(jié)果。
{'jane': {'gender': 'female', 'age': 19, 'class': 8}, 'lily': {'gender': 'female', 'age': 20, 'class': 8}, 'jack': {'gender': 'male', 'age': 25, 'class': 8}}
>>>
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
標題名稱:序列(列表、元組、字符串)字典小題-創(chuàng)新互聯(lián)
標題URL:http://jinyejixie.com/article8/egcip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、ChatGPT、全網(wǎng)營銷推廣、面包屑導航、網(wǎng)站導航、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容