亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 第五章 python數據結構 suzhe (轉).txt

?? LINUX下的安裝聲卡等操作和技巧介紹
?? TXT
字號:
作者:softrain
email: softrain@edu.21cn.com
日期:2001-7-21 9:56:37
第五章 Python數據結構 
本章更詳細地討論一些已經講過的數據類型的使用,并引入一些新的類型。 
5.1 列表 
列表數據類型還有其它一些方法。下面是列表對象的所有方法: 
insert(i, x) ---- 在指定位置插入一項。第一自變量是要在哪一個元素前面插入,用 
下標表示。例如,a.insert(0, x)在列表前面插入,a.insert(len(a), x)等價于a.app 
end(x) 。 
append(x) ---- 等價于a.insert(len(a), x) 
index(x) ---- 在列表中查找值x然后返回第一個值為x的元素的下標。沒有找到時出錯 
remove(x) ---- 從列表中刪去第一個值為x的元素,找不到時出錯。 
sort() ---- 對列表元素在原位排序。注意這個方法改變列表,而不是返回排序后的列 
表。 
reverse() ---- 把列表元素反序。改變列表。 
count(x) ---- 返回x在列表中出現的次數。 
 下例使用了所有的列表方法: 
>>> a = [66.6, 333, 333, 1, 1234.5] 
>>> print a.count(333), a.count(66.6), a.count('x') 
2 1 0 
>>> a.insert(2, -1) 
>>> a.append(333) 
>>> a 
[66.6, 333, -1, 333, 1, 1234.5, 333] 
>>> a.index(333) 
1 
>>> a.remove(333) 
>>> a 
[66.6, -1, 333, 1, 1234.5, 333] 
>>> a.reverse() 
>>> a 
[333, 1234.5, 1, 333, -1, 66.6] 
>>> a.sort() 
>>> a 
[-1, 1, 66.6, 333, 333, 1234.5] 
5.1.1 函數程序設計工具 
Python中有一些函數程序設計風格的東西,例如前面我們看到的lambda形式。關于列表 
有三個非常有用的內置函數:filter(), map()和reduce()。 
“filter(函數, 序列)”返回一個序列(盡可能與原來同類型),序列元素是原序列中 
由指定的函數篩選出來的那些,篩選規則是“函數(序列元素)=true”。filter()可以用 
來取出滿足條件的子集。例如,為了計算一些素數: 
>>> def f(x): return x % 2 != 0 and x % 3 != 0 
... 
>>> filter(f, range(2, 25)) 
[5, 7, 11, 13, 17, 19, 23] 
“map(函數,序列)”對指定序列的每一項調用指定的函數,結果為返回值組成的列表。 
map() 可以對序列進行隱式循環。例如,要計算三次方,可用: 
>>> def cube(x): return x*x*x 
... 
>>> map(cube, range(1, 11)) 
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000] 
可以有多個序列作為自變量,這時指定的函數必須也有相同個數的自變量,函數從每個 
序列分別取出對應元素作為自變量進行調用(如果某個序列比其它的短則取出的值是No 
ne)。如果指定的函數是None,map()把它當成一個返回自己的自變量的恒同函數。在函 
數用None的情況下指定多個序列可以把多個序列搭配起來,比如“map(None, list1, l 
ist2)”可以把兩個列表組合為一個成對值的列表。見下例: 
>>> seq = range(8) 
>>> def square(x): return x*x 
... 
>>> map(None, seq, map(square, seq)) 
[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25), (6, 36), (7, 49)] 
“reduce(函數, 序列)”用來進行類似累加這樣的操作,這里的函數是一個兩個子變量 
的函數,reduce()先對序列的前兩項調用函數得到一個結果,然后對結果和序列下一項 
調用函數得到一個新結果,如此進行到序列尾部。例如,要計算1到10的和: 
>>> def add(x,y): return x+y 
... 
>>> reduce(add, range(1, 11)) 
55 
如果序列中只有一個值則返回這個值,序列為空時會產生例外。可以指定第三個自變量 
作為初始值。有初始值時對空序列函數將返回初始值,否則函數先對初始值和序列第一 
項作用,然后對結果和序列下一項作用,如此進行到序列尾。例如: 
>>> def sum(seq): 
...     def add(x,y): return x+y 
...     return reduce(add, seq, 0) 
... 
>>> sum(range(1, 11)) 
55 
>>> sum([]) 
0 
5.2 del語句 
上面我們看到,列表的remove()方法可以從列表中刪去某個取值的項,我們還可以用de 
l 語句來刪除指定下標的項。也可以用del語句從列表中刪除一個片斷(前面我們是用給 
片斷賦空列表的辦法刪除片斷的)。例如: 
>>> a 
[-1, 1, 66.6, 333, 333, 1234.5] 
>>> del a[0] 
>>> a 
[1, 66.6, 333, 333, 1234.5] 
>>> del a[2:4] 
>>> a 
[1, 66.6, 1234.5] 
del也可以用來刪除整個變量,例如: 
>>> del a 
變量刪除以后再引用該變量就會出錯(除非又給它賦值了)。后面我們還會看到del的其 
它一些應用。 
5.3 序表和序列 
我們看到列表和字符串有許多共同點,例如,下標和片斷運算。它們都屬于序列數據類 
型。因為Python是一個正在不斷發展的語言,以后還可能會加入其它的序列數據類型。 
現在還有一種標準的序列數據類型,稱為序表(tuple)。 
序表由一系列值用逗號分隔而成,例如: 
>>> t = 12345, 54321, 'hello!' 
>>> t[0] 
12345 
>>> t 
(12345, 54321, 'hello!') 
>>> # 序表允許嵌套: 
... u = t, (1, 2, 3, 4, 5) 
>>> u 
((12345, 54321, 'hello!'), (1, 2, 3, 4, 5)) 
輸出的序表總是用括號包圍,這樣可以保證嵌套序表得以正確解釋。輸入時可以有括號 
也可以沒有括號,當經常是必須有括號(如果序表是一個大表達式的一部分)。 
序表有許多用處,例如,(x,y)坐標對,數據庫中的職工紀錄,等等。序表與字符串 
一樣是不可變的:不允許對序表的某一項賦值。 
生成序表時對0項或1項的序表有特殊的規定:空序表用一對空括號表示;只有一項的序 
表用一個之后面跟一個抖好表示(指把這個值放在括號內是不夠的)。這樣寫不夠美觀 
,但很有效。例如: 
>>> empty = () 
>>> singleton = 'hello',    # <-- note trailing comma 
>>> len(empty) 
0 
>>> len(singleton) 
1 
>>> singleton 
('hello',) 
語句t = 12345, 54321, 'hello!'是序表打包的一個實例:12345, 54321和'hello!'這 
些值被打包進了一個序表中。相反的操作也是允許的,例如: 
>>> x, y, z = t 
這叫做序表解包。序表解包要求等號左邊的變量個數等于序表的長度。注意多重賦值只 
是序表打包和序表解包的聯合使用。有時也對列表進行類似操作,即列表解包。只要把 
各變量寫成一個列表就可以進行解包: 
>>> a = ['spam', 'eggs', 100, 1234] 
>>> [a1, a2, a3, a4] = a 
5.4 字典 
Python內置的另一個有用的數據類型是字典。字典在其它語言中有時被稱為“關聯記憶 
” 或“關聯數組”。字典不象序列,它不是用在一個范圍之內的數字下標來索引,而是 
用鍵值來索引,鍵值可以是任何不可變類型。字符串和數值總可以作鍵值。如果序表只 
包含字符串、數值或序表則序表也可以作鍵值使用。列表不能用作鍵值,因為列表可以 
用其append()方法就地改變值。 
最好把字典看成是一系列未排序的“鍵值:值”的集合,在同一字典內鍵值是互不相同 
的。一對空大括號產生一個空字典:{}。在大括號內加入用逗號分開的“鍵值:值”對 
可以在字典內加入初始的鍵值和值對,字典在輸出時也是這樣顯示的。對字典的主要操 
作是以某個鍵值保存一個值,以及給定鍵值后查找對應的值。也可以用del刪除某個鍵值 
:值對。如果用一個已有定義的鍵值保存某個值則原來的植被遺忘。用不存在的鍵值去 
查找會出錯。 
字典對象的keys()方法返回字典中所有鍵值組成的列表,次序是隨機的。需要排序時只 
要對返回的鍵值列表使用sort()方法。為了檢查某個鍵值是否在字典中,使用字典的ha 
s_key() 方法。 
下面是字典使用的一個簡單例子: 
>>> tel = {'jack': 4098, 'sape': 4139} 
>>> tel['guido'] = 4127 
>>> tel 
{'sape': 4139, 'guido': 4127, 'jack': 4098} 
>>> tel['jack'] 
4098 
>>> del tel['sape'] 
>>> tel['irv'] = 4127 
>>> tel 
{'guido': 4127, 'irv': 4127, 'jack': 4098} 
>>> tel.keys() 
['guido', 'irv', 'jack'] 
>>> tel.has_key('guido') 
1 
5.5 條件的進一步討論 
在while語句和if語句中使用的條件除了可以使用比較之外還可以包含其它的運算符。比 
較運算符“in”和“not in”可以檢查一個值是否在一個序列中。運算符“is”和“is 
 not ”比較兩個對象是否恰好是同一個對象,這只對象列表這樣的可變對象有意義。所 
有比較運算優先級相同,而比較運算的優先級比所有數值運算優先級低。 
比較允許連寫,例如,a < b == c檢查是否a小于等于b而且b等于c。 
比較可以用邏輯運算符and和or連接起來,比較的結果(或其它任何邏輯表達式)可以用 
not 取反。邏輯運算符又比所有比較運算符低,在邏輯運算符中,not優先級最高,or的 
優先級最低,所以“A and not B or C”應解釋為“(A and (not B)) or C”。當然, 
可以用括號來表示所需的組合條件。 
邏輯運算符and和or稱為“短路”運算符:運算符兩側的表達式是先計算左邊的,如果左 
邊的結果已知則整體結果已知就不再計算右邊的表達式。例如,如果A和C為真而B為假則 
“A and B and C”不會計算表達式C。一般地,當短路運算符的運算結果不是用作邏輯 
值的時候返回的是最后求值的那個表達式的值。 
可以把比較或其它邏輯表達式的結果賦給一個變量。例如: 
>>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance' 
>>> non_null = string1 or string2 or string3 
>>> non_null 
'Trondheim' 
注意Python和C不同,表達式中不能進行賦值。 
5.6 序列與其它類型的比較 
序列對象可以和其它同序列類型的對象比較。比較使用字典序:先比較最前面兩項,如 
果這兩項不同則結果可以確定;如果這兩項相同,就比較下面的兩項,如此下去,直到 
有一個序列到頭為止。如果某兩項本身也是同類型的序列,則進行遞歸的字典序比較。 
如果兩個序列的所有各項都相等,則這兩個序列相等。如果一個序列是另一個序列的一 
個初始子序列,短的一個是較小的一個。字符串的字典序比較按各個字符的ASCII次序進 
行。下面是一些序列比較的實例: 
(1, 2, 3)              < (1, 2, 4) 
[1, 2, 3]              < [1, 2, 4] 
'ABC' < 'C' < 'Pascal' < 'Python' 
(1, 2, 3, 4)           < (1, 2, 4) 
(1, 2)                 < (1, 2, -1) 
(1, 2, 3)              = (1.0, 2.0, 3.0) 
(1, 2, ('aa', 'ab'))   < (1, 2, ('abc', 'a'), 4) 
注意不同類型的對象比較目前也是合法的。結果是確定的但卻沒有什么意義:不同類型 
是按類型的名字排序的。所以,列表(list)總是小于字符串(string),字符串總是 
小于序表(tuple),等等。但是程序中不能依賴這樣的比較規則,語言實現可能會改變 
。不同的數值類型可以按數值來比較,所以0等于0.0,等等。 
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区爱爱| 免费看精品久久片| 国产精品2024| 国产精品不卡在线观看| 99久久免费精品高清特色大片| 国产日产欧美精品一区二区三区| 国产不卡一区视频| 亚洲精品一二三区| 91精品国产一区二区三区蜜臀| 欧美视频日韩视频| 国产精品伊人色| 风间由美一区二区av101| 国产一区二区视频在线| 一区二区三区在线视频免费| 欧美另类videos死尸| 国产+成+人+亚洲欧洲自线| 国产盗摄一区二区| 日本在线观看不卡视频| 亚洲欧美一区二区三区极速播放| 91精品国产品国语在线不卡| 91精品国产丝袜白色高跟鞋| 日韩午夜在线影院| 日本高清不卡视频| 国产二区国产一区在线观看| 99热99精品| 高清不卡在线观看av| 91美女在线看| 成人av资源网站| 国产91露脸合集magnet| 91麻豆蜜桃一区二区三区| 日本久久电影网| 欧美成人r级一区二区三区| 欧美吻胸吃奶大尺度电影 | 91精品国产综合久久香蕉的特点| 国产精品一色哟哟哟| 99国产精品99久久久久久| 欧洲色大大久久| 在线观看日韩高清av| 日韩欧美三级在线| 欧美精品一区二区高清在线观看| 老司机午夜精品| 夜夜揉揉日日人人青青一国产精品| 亚洲国产精品久久一线不卡| 亚洲精品视频自拍| 麻豆精品久久久| 蜜乳av一区二区| 91论坛在线播放| 久久综合av免费| 日韩av中文字幕一区二区三区| 成人免费视频一区| 91视频在线观看| 26uuu国产日韩综合| 亚洲不卡一区二区三区| 亚洲国产成人精品视频| 成人av资源在线观看| 欧美一级精品大片| 亚洲.国产.中文慕字在线| 99热精品一区二区| 久久精品亚洲麻豆av一区二区| 国产三区在线成人av| 水蜜桃久久夜色精品一区的特点 | 国产精品三级av| 一区二区在线免费观看| 国产成人在线视频免费播放| 日韩一区二区电影网| 天堂久久一区二区三区| 91国偷自产一区二区三区观看| 亚洲国产电影在线观看| 一区二区三区欧美久久| 成人av网站在线| 国产视频911| 国产精品18久久久久久久网站| 欧美电影在线免费观看| 丝袜亚洲另类欧美| 欧美日本高清视频在线观看| 欧美电视剧免费观看| 轻轻草成人在线| 欧美精品视频www在线观看| 亚洲超丰满肉感bbw| 欧美视频日韩视频| 日韩专区中文字幕一区二区| 欧美日韩1234| 蜜臀精品久久久久久蜜臀| 欧美猛男超大videosgay| 亚洲午夜精品久久久久久久久| 欧美专区日韩专区| 亚洲第一会所有码转帖| 91精品久久久久久久91蜜桃| 日韩精品乱码免费| 日韩视频永久免费| 国产伦理精品不卡| 国产精品久久看| 色综合中文字幕| 精品国偷自产国产一区| 国内久久婷婷综合| 欧美一区二区美女| 久久99精品久久久久久动态图| 91色视频在线| 五月天网站亚洲| 91亚洲精品久久久蜜桃网站| 亚洲精品v日韩精品| 欧美日韩免费视频| 亚洲激情一二三区| 91麻豆精品久久久久蜜臀| 久久疯狂做爰流白浆xx| 欧美激情综合网| 欧美三级三级三级爽爽爽| 麻豆国产欧美日韩综合精品二区 | 欧美成人vps| youjizz久久| 日韩精品电影在线| 国产欧美精品一区| 欧美日韩1234| 成人免费视频视频| 亚洲成人免费在线观看| 国产欧美精品一区二区色综合| 91麻豆产精品久久久久久| 毛片不卡一区二区| 亚洲猫色日本管| 久久九九99视频| 欧美日韩不卡一区二区| 成人久久久精品乱码一区二区三区| 亚洲精品中文在线| 国产午夜亚洲精品羞羞网站| 色哦色哦哦色天天综合| 亚洲精品精品亚洲| 26uuu另类欧美| 在线成人av网站| 色噜噜狠狠色综合中国| 国产资源精品在线观看| 日本免费在线视频不卡一不卡二| 亚洲欧洲成人精品av97| 色久优优欧美色久优优| 国产成人综合网站| 韩国成人精品a∨在线观看| 亚洲成av人片一区二区梦乃| 亚洲色欲色欲www| 色婷婷综合在线| 大尺度一区二区| 国产在线视视频有精品| 久久国产三级精品| 美女久久久精品| 免费人成精品欧美精品| 亚洲主播在线观看| 日韩欧美一区中文| 欧美日韩成人综合| 欧美日韩成人综合| 欧美美女一区二区| 欧美一区二区性放荡片| 欧美日韩一区二区在线观看视频| 91在线视频免费91| 成人av网站在线观看| 成人av资源网站| 99久久精品免费观看| 99视频精品在线| 色综合夜色一区| 欧美色图天堂网| 欧美性猛交xxxxxxxx| 制服丝袜一区二区三区| 日韩欧美精品三级| 久久久久久久久久美女| 欧美亚洲日本国产| 欧美天堂一区二区三区| 欧美日韩三级视频| 欧美xxxxxxxxx| 国产女人aaa级久久久级| 国产精品电影一区二区| 亚洲美女区一区| 一区二区三区四区五区视频在线观看| 亚洲精品一卡二卡| 日韩av一区二区三区四区| 欧美a一区二区| 国产成人综合自拍| 色综合久久中文综合久久牛| 欧美久久婷婷综合色| 精品国产乱码久久久久久老虎 | 国产99精品国产| 色欧美乱欧美15图片| 日韩一区二区在线观看| 久久网站最新地址| 国产精品卡一卡二卡三| 亚洲二区在线观看| 国产一区二区精品在线观看| 北条麻妃国产九九精品视频| 欧美挠脚心视频网站| 2024国产精品| 亚洲综合激情另类小说区| 美国精品在线观看| 91丨九色丨蝌蚪丨老版| 欧美精品一级二级| 亚洲国产成人自拍| 日本色综合中文字幕| 99久久久久免费精品国产| 欧美三级中文字幕| 欧美国产日韩a欧美在线观看 | 青青草97国产精品免费观看无弹窗版| 国产传媒日韩欧美成人| 日韩欧美亚洲国产精品字幕久久久 | 亚洲综合在线观看视频| 国内国产精品久久|