Python中列表的方法

ii_chengzi發表於2020-07-28

Python中的列表內建了許多方法。在下文中,使用“L”代表一個列表,使用“x”代表方法的引數,以便說明列表的使用方法。

1 append()方法

列表的append()方法用於將一個項新增到列表的末尾,L.append(x)等價於L[len(L):] = [x]。

例如,使用append()方法分別將'cow'和'elephant'新增到animals列表的末尾:

  1. >>> animals = [ 'cat' 'dog' 'fish' 'dog'
  2. >>> animals.append( 'cow' )    # 等價於animals[4:]=['cow']  
  3. >>> animals 
  4. [ 'cat' 'dog' 'fish' 'dog' 'cow'
  5. >>> animals.append( 'elephant' )    # 等價於animals[5:]=['elephant']  
  6. >>> animals 
  7. [ 'cat' 'dog' 'fish' 'dog' 'cow' 'elephant'

2 ()方法

列表的()方法用於將一個項插入指定索引的前一個位置。L.(0, x)是將x插入列表的最前面,L.(len(L)), x)等價於L.append(x)。

例如,使用()方法分別將'cow'和'elephant'插入animals列表:

  1. >>> animals =  [ 'cat' 'dog' 'fish' 'dog'
  2. >>> animals.( 0 'cow'
  3. >>> animals 
  4. [ 'cow' 'cat' 'dog' 'fish' 'dog'
  5. >>> animals.( 3 'elephant'
  6. >>> animals 
  7. [ 'cow' 'cat' 'dog' 'elephant' 'fish' 'dog'

3 extend()方法

列表的extend()方法用於將可迭代物件的所有項追加到列表中。L.extend(iterable)等價於L[len(L):] = iterable。extend()和append()方法的區別是,extend()方法會將可迭代物件“展開”。

例如,分別使用append()方法和extend()方法在animals列表後面追加一個包含'cow'和'elephant'的列表:

  1. >>> animals = [ 'cat' 'dog' 'fish' 'dog'
  2. >>> animals.append([ 'cow' 'elephant' ])    # 此處append()引數是一個列表  
  3. >>> animals 
  4. [ 'cat' 'dog' 'fish' 'dog' , [ 'cow' 'elephant' ]] 
  5. >>> animals = [ 'cat' 'dog' 'fish' 'dog'
  6. >>> animals.extend([ 'cow' 'elephant' ])    # 此處extend()引數也是一個列表  
  7. >>> animals 
  8. [ 'cat' 'dog' 'fish' 'dog' 'cow' 'elephant'

4 remove()方法

列表的remove()方法用於移除列表中指定值的項。L.remove(x)移除列表中第一個值為x的項。如果沒有值為x的項,那麼會丟擲ValueError異常。

例如,使用remove()方法移除animals列表中值為'dog'的項:

  1. >>> animals = [ 'cat' 'dog' 'fish' 'dog'
  2. >>> animals.remove( 'dog'
  3. >>> animals 
  4. [ 'cat' 'fish' 'dog'
  5. >>> animals.remove( 'dog'
  6. >>> animals 
  7. [ 'cat' 'fish'
  8. >>> animals.remove( 'dog'
  9. Traceback (most recent call last): 
  10.   File  "" , line  1 in   
  11. ValueError: list.remove(x): x  not   in  list 

5 pop()方法

列表的pop()方法用於移除列表中指定位置的項,並返回它。如果沒有指定位置,那麼L.pop()移除並返回列表的最後一項。

例如,使用pop()方法移除animals列表中指定位置的項:

  1. >>> animals = [ 'cat' 'dog' 'fish' 'dog'
  2. >>> animals.pop() 
  3. 'dog'  
  4. >>> animals 
  5. [ 'cat' 'dog' 'fish'
  6. >>> animals.pop( 2
  7. 'fish'  
  8. >>> animals 
  9. [ 'cat' 'dog'

在呼叫前面的列表方法後,並沒有列印任何值,而pop()方法列印了“彈出”的值。包括append()、()、pop()在內的方法都是“原地操作”。原地操作(又稱為就地操作)的方法只是修改了列表本身,並不返回修改後的列表。

在型別轉換時使用的int()函式,str()函式都有返回值:

  1. >>> number =  123  
  2. >>> mystring = str(number)    # 將返回值賦給變數mystring  
  3. >>> mystring 
  4. '123'  

但是在使用“原地操作”時,大部分則不會有返回值,包括pop()方法也只是返回了被“彈出”的值,並沒有返回修改後的列表:

  1. >>> animals = [ 'cat' 'dog' 'fish' 'dog'
  2. >>> new_animals = animals.append( 'cow'
  3. >>>  print (new_animals) 
  4. None

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31543790/viewspace-2707386/,如需轉載,請註明出處,否則將追究法律責任。

相關文章