python-day2-06-列表

來源:互聯網
上載者:User

標籤:[1]   code   連結   list   命名   一個   比較   數組   語言   

  1. 前面我們瞭解了str、int、float等資料類型,比如人名用str,name=‘菜鳥’,那如果我們一個部門呢?還用字串存資料嗎?names =‘菜鳥,張三,李四’這樣存資料,在調用的時候豈不是很麻煩,比如我們想取到星星,還要用到字串方法,會比較麻煩,或者你想每個人取一個字串的變數,這樣也很麻煩,有多少個人,豈不是就要定一個多少個變數了?
  2. 為瞭解決這些麻煩,就有了列表,顧名思義,就是一個表,裡面村範一系列資料,python裡的列表定義比其他語言要簡單,中括弧 [ ]括起來就是列表了,當然在python裡列表也叫數組,大家不要因為名字不同而困惑,都一個概念,列表增刪改查如下:
    • 列表命名
    • # 列表命名,列表名=[元素1,元素2,元素3],元素用英文逗號隔開,元素如果是字串需要加引號names =[‘張三‘,‘李四‘,‘王五‘,‘小紅‘,‘小明‘]# 列表裡的元素是有排序的,所以每個元素都有一個數字編號,電腦是從0開始的,所以[‘張三‘,‘李四‘,‘王五‘,‘小紅‘,‘小明‘]# 這些元素對應的索引一次為:01234,當然在python裡除了索引這個叫法,還有下標、角標,都一個意思

       

    • 列表取值
    • 1 # 列表取值2 print(names[0])  #列表名[元素索引],這個格式就去到索引對應的元素了,這裡取到‘張三‘,列表只有這一種取值方法3 print(names[-1]) #負數表示從後往前取元素,這裡取到了小明

       

    • 新增元素
    • 1 # 新增元素2 names.append(‘剛剛‘)  #列表名.append(元素),這個方法是在列表最後面加一個元素,這裡在列表最後加上‘剛剛‘3 print(names)          # 結果為:[‘張三‘, ‘李四‘, ‘王五‘, ‘小紅‘, ‘小明‘, ‘剛剛‘]4 names.insert(2,‘李白‘)  #列表名.insert(索引值,元素),這個方法是在指定索引位置插入元素,之前該位置及後面的元素向後移一位5 print(names)            #結果為:[‘張三‘, ‘李四‘, ‘李白‘, ‘王五‘, ‘小紅‘, ‘小明‘, ‘剛剛‘]

       

    • 修改元素
    • 1 # 修改元素2 names[0] = ‘杜甫‘       #列表名[索引值]=新元素,這樣就修改元素了3 print(names)            #結果為:[‘杜甫‘, ‘李四‘, ‘李白‘, ‘王五‘, ‘小紅‘, ‘小明‘, ‘剛剛‘

       

    • 刪除元素
    •  1 # 刪除元素 2 names.pop()  #預設刪除最後一個元素 3 print(names) #結果為:[‘張三‘, ‘李四‘, ‘王五‘, ‘小紅‘] 4 names.pop(2) #刪除指定下標的元素 5 print(names) #結果為:[‘張三‘, ‘李四‘, ‘小紅‘] 6 names.remove(‘小紅‘) #和pop不同,刪除列表中指定的元素 7 print(names)         #結果為:[‘張三‘, ‘李四‘] 8 del names[1]  #刪除指定下標的元素 9 print(names)  #結果為:[‘張三‘]10 names.clear() #清空列表11 print(names)  #結果為:[]

       

    • 定義多維陣列
    • 1 # 多維陣列2 names1=[‘小剛‘,‘小紅‘,[‘宙斯‘,‘美杜莎‘],‘杜甫‘,‘李白‘] #數組裡再來一個資料就是二維數組了3 names2=[‘小剛‘,‘小紅‘,[‘宙斯‘,[‘美杜莎‘,‘女王‘]],‘杜甫‘,‘李白‘]4 print(names2[2][1][1])   #取到的值為‘女王‘

       

    • 列表內建方法:
    •  1 # 內建方法 2 names =[‘張三‘,‘李四‘,‘王五‘,‘小紅‘,‘小明‘] 3 names2 = [‘宙斯‘,‘美杜莎‘] 4 # names.extend(names2)   #合并兩個list,將names2合并到names裡面 5 print(names)           #結果為:[‘張三‘, ‘李四‘, ‘王五‘, ‘小紅‘, ‘小明‘, ‘宙斯‘, ‘美杜莎‘] 6 names+names2       #合并兩個list。但和上面不一樣,這裡只是把兩個列錶鏈接起來,原來的列表不會變化,類似字串相加 7 new_name =names+names2 #用+號的時候,需要用一個新列表來接收 8 print(new_name)        #結果為:[‘張三‘, ‘李四‘, ‘王五‘, ‘小紅‘, ‘小明‘, ‘宙斯‘, ‘美杜莎‘] 9 print(names.count(‘張三‘))10 print(names.sort())

       

    • 列表切片:
      • 顧名思義,就是把列表切成我們想要的片段。上面瞭解到,列表是有下標、索引的,name切片就是根據這個下標來進行切片的,比如我想取第一個元素到第三個元素,那麼就這樣寫:names[0:3],這樣就取到前面三個元素了
      • 但是你會發現,3的下標第四個元素,為啥切片要切到3呢,因為python切片裡,顧頭不顧尾,意思就是從下標取到結束下標的前一位元素。
      • 另外如果是從0下標開始取值,那麼可以省略不寫,直接寫names[:3]即可
      • 如果是取值到最後,那麼可以省略不寫最後的索引,直接寫names[3:]即可
      • 顯然[:]這樣就是取全部了
      • 步長:每走幾步取一個元素,比如num【0:10:2】,這裡就是美兩個元素取一個,取值結果為[1,3,5,7,9]
      • 1 # 列表切片2 nums=[1,2,3,4,5,6,7,8,9]3 print(nums[1:3])  #取第二個元素到第三個元素,結果為[2, 3]4 print(nums[3:])   #從第四個元素開始,取所有的元素,一直取到最後,結果為[4, 5, 6, 7, 8, 9]5 print(nums[:6])   #取所有元素,從頭開始取,前面的下標可以不寫,結果為[1,2,3,4,5,6]6 print(nums[1:10:2])  #步長為2,每兩個元素取一個,結果為[1,2,3,4,5,6,7,8,9]7 print(nums[::1])  #取素有的元素,1就是每個元素都取,結果為[1,2,3,4,5,6,7,8,9]8 print(nums[::-1])  #步長為負數的情況下是從後往前取,結果為[9, 8, 7, 6, 5, 4, 3, 2, 1]9 print(nums[7:1:-2])  #步長為負數時,這裡的下標必須是前面的下標大於後面的下標,因為他是從後往前取的,結果為:[8, 6, 4]

         

python-day2-06-列表

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.