程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python中list的操作4-3

編輯:Python

除了對list進行添加元素和刪除元素之外,還可以對list進行查找索引、排序、反轉和拷貝等操作。

3 其他操作

3.1 查找索引

使用index()方法查找指定值在list中的索引值。

3.1.1 index()方法的語法

list.index(value, start=0, end=9223372036854775807,/)

其中,參數value是指定要查找的值;start表示起始索引值,end表示結束索引值,start和end參數都具有默認值。index()方法的返回值是指定值在列表中的索引值。

3.1.2 相關代碼

index()方法的相關代碼如下所示:

list1 = [1,2,3,4]
list1.index(2)
1
list1.index(3,1,3)
2

因為index()方法的start和end參數都具有默認值,因此一般情況下,只需指定其value參數即可。當指定了end參數和start參數之後,就在指定區間內搜索。

3.1.3 注意事項

(1)index()方法返回指定值第一次出現的位置索引

>>> list1 = [1,2,3,4,3,4]
>>> list1.index(3)
2

從以上代碼可以看到,list1中包含兩個3,index()方法返回的是第一個3的索引。

(2)當搜索的值不在list中,顯示錯誤

>>> list1.index(5)
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    list1.index(5)
ValueError: 5 is not in list

從以上代碼中可以看到,list1中不包含5,因此使用index()元素搜索5時,會顯示錯誤信息。該錯誤信息為“值錯誤,list中不包含5”。

(3)返回的索引值是基於0,而不是基於參數start

>>> list1.index(3,4,5)
4

以上代碼的含義是在list1的4-5索引之間搜索數值4,此時返回的索引值是4,即基於0,而不是基於start參數的。

3.2 排序

通過sort()方法對list中的元素進行排序,默認的排序方式是“升序”,即從小到大排序。

3.2.1 sort()方法的語法

list.sort(key=None, reverse=False)

其中,參數key表示排序的規則,參數reverse表示排序方式,False時為“升序”,True時為“降序”。

3.2.2 相關代碼

list1 = [1,4,2,5,3]
list1.sort()
print(list1)
[1, 2, 3, 4, 5]

以上代碼使用默認參數,將list1中的元素進行從小到大排序。

list1.sort(reverse=True)
print(list1)
[5, 4, 3, 2, 1]

以上代碼將list1中的元素進行從大到小排序。

>>> def func(x):
...     return len(x)
>>> list2 = ['a', 'AAA', 'aaAA', 'Aa']
>>> list2.sort(key = func)
print(list2)
['a', 'Aa', 'AAA', 'aaAA']

以上代碼中,定義了一個名為func()的函數,該函數的作用是返回參數的長度。將該函數作為sort()方法的key參數,因為沒有指定reverse參數,因此以上代碼表示以元素的長度進行從小到大排序。

>>> list2.sort(key = func, reverse=True)
>>> print(list2)
['aaAA', 'AAA', 'Aa', 'a']

以上代碼表示元素的長度進行從大到小排序。

3.2.3 注意事項

使用sort()方法對列表進行排序後,列表的變化是永久的,即使用sort()方法排序後,列表中元素的位置發生了變化。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved