1. 程式人生 > >自興人工智能------------python入門基礎(2)列表和元祖

自興人工智能------------python入門基礎(2)列表和元祖

div 最小值 最大值 布爾 str 列操作 一段 ext .so

一.通用序列操作:

列表中所有序列都可以進行特定的操作,包括索引(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)列表和元祖