1. 程式人生 > 實用技巧 >Python Web開發學習-Django(5)獲取URL的中的資料

Python Web開發學習-Django(5)獲取URL的中的資料

    • 前面我們瞭解了str、int、float等資料型別,比如人名用str,name=‘菜鳥’,那如果我們一個部門呢?還用字串存資料嗎?names =‘菜鳥,張三,李四’這樣存資料,在呼叫的時候豈不是很麻煩,比如我們想取到星星,還要用到字串方法,會比較麻煩,或者你想每個人取一個字串的變數,這樣也很麻煩,有多少個人,豈不是就要定一個多少個變量了?
    • 為了解決這些麻煩,就有了列表,顧名思義,就是一個表,裡面村範一系列資料,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]