Python數據類型之三(列表)
阿新 • • 發佈:2018-03-05
返回 AC .so 出現 log don bsp style api
列表list
- 結果類型 中括號括起來
- 逗號(,)分割每一個元素
- 列表中的元素可以是數字,字符串,列表,布爾值所有的都能放
- 索引,切片
增
#append 增加新數據到列表最後 li = [‘alex‘,‘wusir‘,‘egon‘,‘女神‘,‘taibai‘] li.append(‘lidongxu‘) print(li) #輸出:[‘alex‘, ‘wusir‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘] #insert 增加新數據到列表指定位置(插入) li = [‘alex‘, ‘wusir‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘] li.insert(2,‘liuyi‘) print(li) #輸出:[‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘] #extend 叠代添加 數據會被分解到最小元素 例:‘小明‘ 會被分解為 ‘小‘, ‘明‘ li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘] li.extend(‘小明‘) print(li) #輸出結果:[‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
刪
#pop 有返回值 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] li.pop() #沒有值 默認刪除最後一個 print(li) #輸出:[‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘] #按照索引刪除 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] name = li.pop(0) #按照索引刪除 print(name,li) #輸出:alex [‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] #remove 按照元素刪除 無返回值 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] li.remove(‘明‘) print(li) #clear 清空列表 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] li.clear() print(li) #del刪除列表 會報錯 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] del.li print(li) #切片刪除列表中某一部分 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] del li[0:3] print(li) #輸出:[‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
改
#按照索引修改 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] li[0] = ‘lidongxu‘ #按照索引修改 print(li) #輸出:[‘lidongxu‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] #會拆分到最小單元 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] li [0:2] = ‘你好啊‘ print(li) #輸出:[‘你‘, ‘好‘, ‘啊‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] #完整替換切片部分 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] li [0:2] = [‘1。2。3‘] print(li) #輸出:[‘1。2。3‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘]
查
for循環 #按照索引數循環 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] for i in li : print(li) #輸出: # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] # [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] #按照索引數循環打印出切片內容 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] for i in li : print(li[0:2]) # 輸出: # [‘alex‘, ‘wusir‘] # [‘alex‘, ‘wusir‘] # [‘alex‘, ‘wusir‘] # [‘alex‘, ‘wusir‘] # [‘alex‘, ‘wusir‘] # [‘alex‘, ‘wusir‘] # [‘alex‘, ‘wusir‘] # [‘alex‘, ‘wusir‘] # [‘alex‘, ‘wusir‘] len #打印列表長度 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] i = len(li) print(i) #輸出:9 count #某一元素或字符串出現的次數 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] i = li.count(‘alex‘) print(i) #輸出:1 PS:列表中只能查引號中的元素。 index #索引位置,,沒有會報錯。列表中只能用index li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘egon‘, ‘女神‘, ‘taibai‘, ‘lidongxu‘, ‘小‘, ‘明‘] print(li.index(‘wusir‘)) # 輸出:1 sort #從小到大排序(升序) li = [‘1‘, ‘3‘, ‘2‘, ‘6‘, ‘4‘, ‘5‘, ‘7‘, ‘9‘, ‘8‘] li.sort() print(li) # # 輸出:[‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘] #從大到小排序(降序) li = [‘1‘, ‘3‘, ‘2‘, ‘6‘, ‘4‘, ‘5‘, ‘7‘, ‘9‘, ‘8‘] li.sort(reverse=True) print(li) # # 輸出:[‘9‘, ‘8‘, ‘7‘, ‘6‘, ‘5‘, ‘4‘, ‘3‘, ‘2‘, ‘1‘] reverse #列表整體反轉 li = [‘1‘, ‘3‘, ‘2‘, ‘6‘, ‘4‘, ‘5‘, ‘7‘, ‘9‘, ‘8‘] li.reverse() print(li) # # 輸出:[‘8‘, ‘9‘, ‘7‘, ‘5‘, ‘4‘, ‘6‘, ‘2‘, ‘3‘, ‘1‘]
而且列表還能進行嵌套
#打印列表中小列表的元素 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘女神‘, ‘taibai‘, [‘8‘,‘3‘,‘lidongxu‘,‘1‘],‘小‘, ‘明‘] print(li[5][2]) # 輸出:lidongxu #替換某個元素的首字母大寫 li = [‘alex‘, ‘wusir‘, ‘liuyi‘, ‘女神‘, ‘taibai‘, [‘8‘,‘3‘,‘lidongxu‘,‘1‘],‘小‘, ‘明‘] li [0] = li[0].capitalize() print(li) # 輸出:[‘Alex‘, ‘wusir‘, ‘liuyi‘, ‘女神‘, ‘taibai‘, [‘8‘, ‘3‘, ‘lidongxu‘, ‘1‘], ‘小‘, ‘明‘]
列表中的join方法:
# join()方法 # S.join():其中S是字符串連接符,join中參數必須是可叠代對象,join()方法輸出可叠代對象的每一個元素,並用連接符將每一個元素連接 s = ‘ilovepython‘ l = [‘C‘,‘Java‘,‘C++‘,‘Ruby‘,‘PHP‘,‘Python‘] print(‘_‘.join(s)) >>> ‘i_l_o_v_e_p_y_t_h_o_n‘ print(‘_‘.join(l)) >>> ‘C_Java_C++_Ruby_PHP_Python‘
列表與str之間的轉換:
# string <——> list : 字符串與列表的相互轉換 # string ——> list : split() s = ‘i_l_o_v_e_p_y_t_h_o_n‘ print(s.split(‘_‘)) >>> [‘i‘, ‘l‘, ‘o‘, ‘v‘, ‘e‘, ‘p‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘] # list ——> string : join() l = [‘C‘,‘Java‘,‘C++‘,‘Ruby‘,‘PHP‘,‘Python‘] print(‘‘.join(l)) >>> CJavaC++RubyPHPPython
range()方法:
# range:相當於都是數字的列表 [0,1,2,3,4.....,99] # range(起始值,終止值) for i in range(0,100): print(i) # 默認起始值不寫默認為0 for i in range(100): print(i) # 同索引一樣,range也可以加步長,加步長的話默認的0起始值就不可以省略 for i in range(0,100,2): print(i) for i in range(100,0,-2): print(i) # ★★★註意!面試題:不報錯,也不輸出結果! ‘‘‘ 起始值:0 終止值:10 步長:-1 ‘‘‘ for i in range(0,10,-1): print(i)
Python數據類型之三(列表)