1. 程式人生 > 實用技巧 >python基礎-列表型別

python基礎-列表型別

  1 # 1、作用:按位置存放多個值
  2 # 2、定義
  3 # 定義:在[]內,用逗號分隔開多個任意資料型別的值
  4 l1 = [1,'a',[1,2]]  # 本質:l1 = list([1,'a',[1,2]])
  5 # l=[1,1.2,'a'] # l=list([1,1.2,'a'])
  6 # print(type(l))
  7 
  8 # 3、型別轉換: 但凡能夠被for迴圈遍歷的型別都可以當做引數傳給list()轉成列表
  9 # res=list('hello')
 10 # print(res)
 11 #
 12 # res=list({'k1':111,'k2':222,'k3':3333})
13 # print(res) 14 >>> list('wdad') # 結果:['w', 'd', 'a', 'd'] 15 >>> list([1,2,3]) # 結果:[1, 2, 3] 16 >>> list({"name":"jason","age":18}) #結果:['name', 'age'] 17 >>> list((1,2,3)) # 結果:[1, 2, 3] 18 >>> list({1,2,3,4}) # 結果:[1, 2, 3, 4] 19 20 # 4、內建方法
21 # 優先掌握的操作: 22 # 1、按索引存取值(正向存取+反向存取):即可以取也可以改 23 # l=[111,'egon','hello'] 24 # 正向取 25 # print(l[0]) 26 # 反向取 27 # print(l[-1]) 28 # 可以取也可以改:索引存在則修改對應的值 29 # l[0]=222 30 # print(l) 31 32 # 無論是取值操作還是賦值操作:索引不存在則報錯 33 # l[3]=333 34 35 36 # 2、切片(顧頭不顧尾,步長) 37 l = [111, 'egon', 'hello', '
a', 'b', 'c', 'd', [1, 2, 3]] 38 # print(l[0:3]) 39 # print(l[0:5:2]) # 0 2 4 40 41 # print(l[0:len(l)]) 42 # print(l[:]) 43 # new_l=l[:] # 切片等同於拷貝行為,而且相當於淺copy 44 # print(id(l)) 45 # print(id(new_l)) 46 47 # l[-1][0]=1111111 48 # print(l) 49 # print(new_l) 50 51 # print(l[::-1]) 52 53 # msg1='hello:egon:<>:18[]==123' 54 # msg2=msg1[:] 55 # print(msg1,id(msg1)) 56 # print(msg2,id(msg2)) 57 # 3、長度 58 # print(len([1, 2, 3])) 59 # 4、成員運算in和not in 60 # print('aaa' in ['aaa', 1, 2]) 61 # print(1 in ['aaa', 1, 2]) 62 # 5、往列表中新增值 63 # 5.1 追加 64 # l=[111,'egon','hello'] 65 # l.append(3333) 66 # l.append(4444) 67 # print(l) 68 69 # 5.2、插入值 70 # l=[111,'egon','hello'] 71 # l.insert(0,'alex') 72 # print(l) 73 74 # 5.3、extend新增值 75 # new_l=[1,2,3] 76 # l=[111,'egon','hello'] 77 # l.append(new_l) 78 # print(l) 79 80 # 程式碼實現 81 # for item in new_l: 82 # l.append(item) 83 # print(l) 84 85 # extend實現了上述程式碼 86 # l.extend(new_l) 87 # l.extend('abc') 88 # print(l) 89 90 91 # 7、刪除 92 # 方式一:通用的刪除方法,只是單純的刪除、沒有返回值 93 # l = [111, 'egon', 'hello'] 94 # del l[1] 95 # x =del l[1] # 丟擲異常,不支援賦值語法 96 # print(l) 97 98 # 方式二:l.pop()根據索引刪除,會返回刪除的值 99 # l = [111, 'egon', 'hello'] 100 # l.pop() # 不指定索引預設刪除最後一個 101 # l.pop() 102 # print(l) 103 104 # res=l.pop(1) 105 # print(l) 106 107 # print(res) 108 109 # 方式三:l.remove()根據元素刪除,返回None 110 # l = [111, 'egon', [1,2,3],'hello'] 111 # l.remove([1,2,3]) 112 # print(l) 113 # res=l.remove('egon') 114 # print(res) # None 115 116 117 # 8、迴圈 118 # l=[1,'aaa','bbb'] 119 # for x in l: 120 # l.pop(1) 121 # print(x) 122 123 # 需要掌握操作 124 l = [1, 'aaa', 'bbb','aaa','aaa'] 125 # 1、l.count() 126 # print(l.count('aaa')) 127 128 # 2、l.index() 129 # print(l.index('aaa')) 130 # print(l.index('aaaaaaaaa')) # 找不到報錯 131 132 # 3、l.clear() 133 # l.clear() 134 # print(l) 135 136 # 4、l.reverse():不是排序,就是將列表倒過來 137 # l = [1, 'egon','alex','lxx'] 138 # l.reverse() 139 # print(l) 140 141 # 5、l.sort(): 列表內元素必須是同種型別才可以排序 142 # l=[11,-3,9,2,3.1] 143 # l.sort() # 預設從小到大排,稱之為升序 144 # l.sort(reverse=True) # 從大到小排,設定為降序 145 # print(l) 146 147 # l=[11,'a',12] 148 # l.sort() 149 150 # l=['c','e','a'] 151 # l.sort() 152 # print(l) 153 154 # 瞭解:字串可以比大小,按照對應的位置的字元依次pk 155 # 字串的大小是按照ASCI碼錶的先後順序加以區別,表中排在後面的字元大於前面的 156 # print('a'>'b') 157 # print('abz'>'abcdefg') 158 159 # 瞭解:列表也可以比大小,原理同字串一樣,但是對應位置的元素必須是同種型別 160 # l1=[1,'abc','zaa'] 161 # l2=[1,'abc','zb'] 162 # 163 # print(l1 < l2) 164 165 166 # 補充 167 # 1、佇列:FIFO,先進先出 168 # l=[] 169 # # 入隊操作 170 # l.append('first') 171 # l.append('second') 172 # l.append('third') 173 # 174 # print(l) 175 # # 出隊操作 176 # print(l.pop(0)) 177 # print(l.pop(0)) 178 # print(l.pop(0)) 179 180 # 2、堆疊:LIFO,後進先出 181 l=[] 182 # 入棧操作 183 l.append('first') 184 l.append('second') 185 l.append('third') 186 187 print(l) 188 # 出隊操作 189 print(l.pop()) 190 print(l.pop()) 191 print(l.pop())