首頁 >後端開發 >Python教學 >Python中基本的資料結構--列表

Python中基本的資料結構--列表

零下一度
零下一度原創
2017-06-30 13:22:471694瀏覽

Python中最基本的資料結構。序列中的每個元素都分配一個數字- 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推

列表

1、定義列表,取出列表中的值

 1 names = [] #定义空列表 2 names = ['a','b','c'] #定义一个非空列表 3  4 # 取出列表中的值 5  6 >>> names = ['a','b','c'] 7 >>> names[0] 8 'a' 9 >>> names[1]10 'b'11 >>> names[2]12 'c'13 >>> names[-1]#倒着取最后一个值14 'c'

2、切片

 1 >>> names = ['a','b','c','d'] # 列表的下标值是从0开始取值的 2 >>> names[1:3] #取1到3之间的元素,包括1,不包括3 3 ['b', 'c'] 4 >>> names[1:-1] #取1到-1之间的元素,包括1,不包括-1 5 ['b', 'c'] 6 >>> names[0:3] 7 ['a', 'b', 'c'] 8 >>> names[:3] #从头开始取,0可以省略,效果等同于names[0:3] 9 ['a', 'b', 'c']10 >>> names[3:]  #想取到最后一个值,必须不能写-1,只能这么写11 ['d']12 >>> names[0::2] #后面的2表示:每隔一个元素就取一个13 ['a', 'c']14 >>> names[::2] #从头开始0可以省略,效果跟上一句一样15 ['a', 'c']

切片小結:

①序列總是從左向右切片的,不能是從右向左

列表切片時,起始位元的元素是包含的,結束位元的元素是不包含(又叫顧頭不顧尾),最後一個位置表示步長(names[開始位:結束位:步長])

②如果從0位置取值,0可以省略

③想取最後一個值時,結束位元不能是-1,因為結束位元的元素不包括,所以只能留空

3、列表函數&方法

函數:

方法:

示範:

 1 # append 列表末尾添加新的对象 2 >>> names = ['a','b','c','d'] 3 >>> names.append('e') 4 >>> names 5 ['a', 'b', 'c', 'd', 'e']#e是新加的元素 6  7 # insert(下标值,插入的内容)  8 >>> names = ['a','b','c','d'] 9 >>> names.insert(0,'1') #0表示需要插入的下标值,'1'表示插入的内容10 >>> names11 ['1', 'a', 'b', 'c', 'd'] #在下标值为0的地方插入'1'12 13 #修改列表中的元素,直接是 names[下标值] = 新值14 >>> names = ['a','b','c','d']15 >>> names[1] = '1'16 >>> names17 ['a', '1', 'c', 'd']18 19 20 #扩展(extend)names2的列表合并到names1中,但是,names2这个列表依然存在,如果想删除names2这个变量,则只需del names2即可21 >>> names1 = ['a','b','c','d']22 >>> names2 = [1,2,3,4]23 >>> names1.extend(names2)24 >>> names125 ['a', 'b', 'c', 'd', 1, 2, 3, 4]26 27 #统计(count(元素))28 >>> names = ['a','b','c','d','a']29 >>> names.count('a') #统计'a'元素的个数30 231 32 #翻转(reverse())33 >>> names = ['a','b','c','d']34 >>> names.reverse()35 >>> names36 ['d', 'c', 'b', 'a']  #将整个列表翻转过来37 38 #排序(sort())39 >>> names = [4,2,3,1]40 >>> names.sort()41 >>> names42 [1, 2, 3, 4]43 44 #获取下标值(index(元素))45 >>> names = ['a','b','c','d']46 >>> names.index('a')47 048 49 #清空列表(clear())50 >>> names = ['a','b','c','d']51 >>> names.clear()52 >>> names53 []

 刪除(del、remove(元素)、pop())

#根据下标值删除元素>>> names = ['a','b','c','d']>>> del names[0] 
>>> names
['b', 'c', 'd']#根据元素删除>>> names = ['a','b','c','d']>>> names.remove('a')>>> names
['b', 'c', 'd']#删除最后一个>>> names = ['a','b','c','d']>>> names.pop()'d'>>> names
['a', 'b', 'c']

#擴充:

#如果pop()中有下标值,则是删掉具体某个元素,其效果和del的效果是一样的>>> names = ['a','b','c','d']>>> names.pop(1) #在输入下标值得情况下和del的效果是一样的'b'>>> names
['a', 'c', 'd']#del关键字不仅可以删除列表中的元素,也可以删除变量names = ['a','b','c','d']#删除names这个变量del names

 copy:

1 >>> names = ['a','b','c','d']2 >>> names2 = names.copy()3 >>> names24 ['a', 'b', 'c', 'd']

註:這邊的copy都是淺copy,只能copy第一層。深淺拷貝的詳細資料:點這裡

 

#

以上是Python中基本的資料結構--列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn