Python中對列表的組織排序

2021-10-06 21:45:50 字數 4099 閱讀 9112

在我們建立的列表中,列表元素的排列順序常常是無法**的。因為我們並非總是能控制使用者提供資料的順序。這雖然在大多數情況下是不可避免的。但你經常需要以特定的順序呈現資訊。有時候,你希望保留列表元素最初的排列順序。而有時候又需要調整排列順序。

示例**:

names =

['c'

,'d'

,'e'

,'g'

,'f'

,' a'

,'b'

]print

( names )

names.sort(

)#列表名對方法sort()進行呼叫

print

(names)

輸出結果如下:

[

'c',

'd',

'e',

'g',

'f',

' a'

,'b'][

' a'

,'b'

,'c'

,'d'

,'e'

,'f'

,'g'

][finished in

0.1s]

還可以按照字母順序相反的順序排列列表元素。為此,只需向sort()方法傳遞引數 reverse = true

示例**:

names =

['c'

,'d'

,'e'

,'g'

,'f'

,' a'

,'b'

]print

( names )

names.sort(reverse =

true

)print

(names)

輸出結果:

[

'c',

'd',

'e',

'g',

'f',

' a'

,'b'][

'g',

'f',

'e',

'd',

'c',

'b',

' a'

][finished in

0.0s]

要保留列表元素原來的排列順序,同時以特定的順序呈現他們,可使用函式sorted()。函式sorted()讓你能按照特定順序顯示列表元素,同時不影響它們在列表中的原始排列順序。

示例**:

names =

['c'

,'d'

,'e'

,'g'

,'f'

,' a'

,'b'

]print

( names )

#先看一下列表原始的排序方式

print

(sorted

(names)

)#輸出臨時的特定排列順序

print

( names )

#驗證一下列表原始的排列順序沒有改變

輸出結果如下:

[

'c',

'd',

'e',

'g',

'f',

' a'

,'b'][

' a'

,'b'

,'c'

,'d'

,'e'

,'f'

,'g'][

'c',

'd',

'e',

'g',

'f',

' a'

,'b'

][finished in

0.0s]

如果我們想臨時輸出,按照字母降序排練的臨時輸出,那我們向sorted()函式傳遞乙個 reverse = true即可

**如下:

names =

['c'

,'d'

,'e'

,'g'

,'f'

,' a'

,'b'

]print

( names )

#先看一下列表原始的排序方式

print

(sorted

( names , reverse =

true))

#輸出臨時的降序特定排列順序

print

( names )

#驗證一下列表原始的排列順序沒有改變

輸出結果如下:

[

'c',

'd',

'e',

'g',

'f',

' a'

,'b'][

'g',

'f',

'e',

'd',

'c',

'b',

' a'][

'c',

'd',

'e',

'g',

'f',

' a'

,'b'

][finished in

0.0s]

要反轉列表元素的排列順序,可使用方法reverse()。

**示例如下:

names =

['c'

,'d'

,'e'

,'g'

,'f'

,' a'

,'b'

]print

( names )

#先看一下列表原始的排序方式

names.reverse(

)print

( names )

#驗證一下列表原始的排列順序已經改變

輸出結果如下:

[

'c',

'd',

'e',

'g',

'f',

' a'

,'b'][

'b',

' a'

,'f'

,'g'

,'e'

,'d'

,'c'

][finished in

0.1s]

注意:

reverse()不是指,按照與字母順序相反的順序排列列表元素。而是反轉列表元素的排列順序。

reverse()方法是永久性地修改列表元素的排列順序。如果想恢復原來的排列順序,只需再執行一次reverse()方法即可。

使用函式len()可以快速知道列表長度,也就是知道列表包含多少個元素。

示例**:

names =

['c'

,'d'

,'e'

,'g'

,'f'

,' a'

,'b'

]print

( names )

#先看一下列表原始的排序方式

print

(len

(names)

)#統計列表元素的個數

輸出結果:

[

'c',

'd',

'e',

'g',

'f',

' a'

,'b']7

[finished in

0.0s]

示例**:

names =

['c'

,'d'

,'e'

,'g'

,'f'

,' a'

,'b'

]print

( names[8]

)#這個列表中的索引最大是6,那我們使用乙個8試試

輸出結果:

indexerror:

list index out of range

***這個意思就是說:列表索引超出範圍**

*

注意:

發生列表索引錯誤時,我們可以先嘗試將列表長度列印出來,我們看看列表長度是不是跟我們認為的長度一致。就很快找出我們的問題所在。

Python 組織列表

在建立的列表中,元素的排列順序常常是無法 的,但是我們經常需要以特定的順序呈現資訊。可使用如下方式組織列表 1.使用方法sort 對列表進行永久性排序 sort 方法可以永久性的修改列表元素的排列順序,例 cars bmw audi toyota subaru cars.sort print car...

python 組織列表

1.使用sort 方法 按照字母順序排序 cars bmw audi toyota subaru cars.sort print cars 如果按照字母相反的順序 cars bmw audi toyota subaru cars.sort reverse true print cars 注意,這個對...

Python對列表排序 氣泡排序

直接用列表自帶函式排序,sort 方法預設公升序,將引數reverse改為true,改為降序 list 7,4,3,67,34,1,8 list sort print list 1,3,4,7,8,34,67 list sort reverse true print list 67,34,8,7,4...