自興人工智能------------python入門基礎(2)列表和元祖
一.通用序列操作:
列表中所有序列都可以進行特定的操作,包括索引(indexing).分片(slicing).序列相加(adding).乘法,成員資格,長度,最小值,最大值,下面會一一介紹這些操作法。
1.索引:序列是python中最基本的數據結構,序列中所有的序列都是有編號的,從0開始遞推,可通過編號對序列的元素進行訪問,並且支持正負索引。
>>>string=‘hello’ #自定義變量並賦值 >>>print string[0] #根據編號取元素
>>>print string[-1]
最後輸出是下標為0的元素‘h‘與‘o’
2.分片:索引對單個元素進行訪問,使用分片可以對一定範圍內的元素進行訪問(包前不包尾),分片通過冒號相隔的兩個索引實現。在交互模式輸入:
>>>number=[1,2,3,4,5,6,7,8] >>>nub=number[1:3] #索引為正數 >>>nub2=numbwe[-3:-1] #索引為負數,小的索引放前面,從倒數開始取值
>>>nub3=number[:] #也可不輸入索引,則取得整個數組
>>>nub4=number[0:7:2] #對於這種情況python為我們提供了另一個參數----步數,該參數是隱形設置的,也可理解默認步長為1 >>>print nub
[2,3] >>>print nub2
[6,7]
>>>print nub3
[1,2,3,4,5,6,7,8]
>>>print nub4
[1,3,5,7]
3.序列相加:使用加好
>>>a=[1,2,3] >>>b=[4,5,6] >>>print a+b [1,2,3,4,5,6] >>>a=‘hello‘ >>>b=‘ word‘ >>>c=‘!‘ ‘hello word!‘
4.乘法:
>>>a=[5]*5 >>>print a [5,5,5,5,5] >>>b=‘None‘*3 >>>print b ‘NoneNoneNone‘
5.成員資格:為檢測一個值是否存在與序列中,用‘in’運算符,這種運算符稱為布爾運算符,返回的真值叫布爾值。
>>>a=‘hello word‘ >>>print ‘l‘ in a true >>>b=[‘zhangsan‘,‘lisi‘,‘wangwu‘] >>>print ‘lisi‘ in b true >>>c=[1,2,3,4,5] print 6 in c false
6.長度,最大,最小值:
>>>a=[100,500,300,900,1] >>>print len(a) 5 >>>print max(a) 900 >>>print min(b) 1 >>>print min(5,2,-7,-10) -10
二.列表(方法)
1.append():在列表的末尾添加新元素
語法: list.append(obj)
2.count():計算某個元素在列表中出現的次數
語法: list.count(obj)
3.extend():用於在列表末尾追加另一個序列中的多個值(用新列表擴展原來的列表)。
語法: list.extend(seq) list代表列表,seq代表元素列表
4.index():用於找出某個值與列表第一個匹配的索引位置
語法: list.index(seq)
5.insert():用於將對象插入列表
語法: list.insertindex,obj) index代表對象obj需要插入的索引位置,obj代表插入列表中的對象
6.pop():用於移除列表中的一個元素(默認最後一個元素),並且返回該元素的值
語法: list.pop(obj=list[-1])
7.remove():用於移除列表中的某一個值的第一個匹配值
語法: list.remove(obj)
8.reverse():用於反向列表中的元素
語法: list.reverse()
9.sort():用於對原文列表進行排序
語法: list.sort(funce) funce為可選參數
10.clear():用於清空列表。
語法: list.clear()
11.copy():用於復制列表,類似於a[:]
語法: list.copy()
12.高級排序:如果希望元素按特定方式排序(不是sort方法默認的按升序排列元素),就可以自定義比較方便
sort方法有兩個可選參數,即key和reverse,要使用他們就要通過名字指定,我們稱之為關鍵字參數。
>>>field=[‘study‘,‘python‘,‘is‘,‘happy‘] >>>filed.sort(key=len) #按字符串由短到長排序 >>>filed >>>filed.sort(key=len,reverse=true) #按字符串由長到短排序,傳遞兩個參數 >>>filed [‘python‘,‘study‘,‘happy‘,‘is‘] [‘is‘,‘happy‘,‘study‘,‘python‘] >>>num=[5,8,1,3,6] >>>num.sort(reverse=True) #排序後逆序 >>>num [8,6,5,3,1]
三.元組
python中的元組與列表相似,不同之處在於元組不能修改(前面多次提到的字符串也是不能被修改的)。創建元組的方法很簡單:如果使用逗號分隔一些值就會自動創建元組,如:
>>>1,2,3 (1,2,3) >>>‘hello‘,‘word‘ (‘hello‘,‘word‘)
還可創建空元組:
>>>() () >>>(1,2,3) (1,2,3)
>>>(1,)
(1,)
1.tuple函數:tuple函數的功能和list函數基本一樣,都是以一個序列作為參數,並把它轉換成元組,如果參數是元組,參數就會被原樣返回,如:
>>>tuple([‘Hello‘,‘Word’]) (‘Hello‘,‘Word’) >>>tuple(‘hello‘) (‘h‘,‘e‘,‘l‘,‘l‘,‘o‘) >>>tuple((‘Hello‘,‘Word’)) (‘Hello‘,‘Word’)
2.元組的基本操作:
1)訪問元組:可以使用下標索引訪問元組中的值
2)修改元組:元組中的數不可以被修改,但可以對元組進行連接組合,使用‘+’進行連接
3)刪除元組:元組中的數不予許被刪除,但可以只用del語句刪除整個元組
4)元組索引,截取:因為元組也是一個序列,所以可以訪問元組中指定位置的元素也可以截取索引中的一段元素
3.元組內置函數:
1)len(tuple)用於計算元組個數
2)max(tuple)用於計算元組中的最大值
3)min(tuple)用於計算元組中的最小值
4)tuple(seq)用於將列表轉換成元組
因為元組不可變所以代碼更安全。如果可能,能使用元組代替列表就盡量使用元組。如:
>>>t=(‘a‘,‘b‘,[‘A‘,‘B‘]) >>>t[2][0]=‘X‘ >>>t[2][1]=‘Y‘ >>>t (‘a‘,‘b‘,[‘X‘,‘Y‘])
此處使用了嵌套列表,一個列表包含另一個列表,也可以稱為二維數組。
自興人工智能------------python入門基礎(2)列表和元祖