Python 資料型別 list 2

2021-08-29 10:14:43 字數 4883 閱讀 8255

>>> all_users = ["hiekay","github"]

>>> all_users

['hiekay', 'github', 'io']

>>> all_users

['hiekay', 'github', 'io']

>>> all_users.insert("python") #list.insert(i,x),要求有兩個引數,少了就報錯

['python', 'http://', 'hiekay', 'github', 'io', 'algorithm']

刪除list元素的方法有兩個

list.remove(x) x:元素

list.pop([i]) i: 元素下標

>>> all_users #的確是把"http://"刪除了

['python', 'hiekay', 'github', 'io', 'algorithm']

>>> all_users.remove("tianchao") #原list中沒有「tianchao」,要刪除,就報錯。

traceback (most recent call last):

file "", line 1, in valueerror: list.remove(x): x not in list在刪除之前,先判斷一下這個元素是不是在list中,在就刪,不在就不刪。

>>> all_users

['python', 'hiekay', 'github', 'io', 'algorithm']

>>> "python" in all_users #這裡用in來判斷乙個元素是否在list中,在則返回true,否則返回false

true

>>> if "python" in all_users:

... all_users.remove("python")

... print all_users

... else:

... print "'python' is not in all_users"

...['hiekay', 'github', 'io', 'algorithm'] #刪除了"python"元素

>>> if "python" in all_users:

... all_users.remove("python")

... print all_users

... else:

... print "'python' is not in all_users"

...'python' is not in all_users #因為已經刪除了,所以就沒有了。

list.pop([i])實驗:

>>> all_users

['hiekay', 'github', 'io', 'algorithm']

>>> all_users.pop() #list.pop([i]),圓括號裡面是[i],表示這個序號是可選的

'algorithm' #如果不寫,就如同這個操作,預設刪除最後乙個,並且將該結果返回

>>> all_users

['hiekay', 'github', 'io']

>>> all_users.pop(1) #指定刪除編號為1的元素"github"

'github'

>>> all_users

['hiekay', 'io']

>>> all_users.pop()

'io'

>>> all_users #只有乙個元素了,該元素編號是0

['hiekay']

>>> all_users.pop(1) #但是非要刪除編號為1的元素,結果報錯。注意看報錯資訊

traceback (most recent call last):

file "", line 1, in indexerror: pop index out of range #刪除索引超出範圍,就是1不在list的編號範圍之內

>>> range(9)                #stop=9,別的都沒有寫,含義就是range(0,9,1)

[0, 1, 2, 3, 4, 5, 6, 7, 8] #從0開始,步長為1,增加,直到小於9的那個數

>>> range(0,9)

[0, 1, 2, 3, 4, 5, 6, 7, 8]

>>> range(0,9,1)

[0, 1, 2, 3, 4, 5, 6, 7, 8]

>>> range(1,9) #start=1

[1, 2, 3, 4, 5, 6, 7, 8]

>>> range(0,9,2) #step=2,每個元素等於start+i*step,

[0, 2, 4, 6, 8]

僅僅解釋一下range(0,9,2)

>>> range(-9)
我本來期望給我返回[0,-1,-2,-3,-4,-5,-6,-7,-8],我的期望能實現嗎?

分析一下,這裡start=0,step=1,stop=-9.

>>> range(-9)

>>> range(0,-9)

>>> range(0)

報錯和返回結果,是兩個含義,雖然返回的不是我們要的。應該如何修改呢?

>>> range(0,-9,-1)

[0, -1, -2, -3, -4, -5, -6, -7, -8]

>>> range(0,-9,-2)

[0, -2, -4, -6, -8]

有了這個內建函式,很多事情就簡單了。比如:

>>> range(0,100,2)

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]

實驗:

>>> pythoner = ["i","am","a","pythoner","i","am","learning","it","with","hiekay"]

>>> pythoner

['i', 'am', 'a', 'pythoner', 'i', 'am', 'learning', 'it', 'with', 'hiekay']

>>> py_index = range(len(pythoner))

>>> py_index

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

兩個方法可以實現對list的排序:

>>> number = [1,4,6,2,9,7,3]

>>> number.sort()

>>> number

[1, 2, 3, 4, 6, 7, 9]

>>> number = [1,4,6,2,9,7,3]

>>> number

[1, 4, 6, 2, 9, 7, 3]

>>> sorted(number)

[1, 2, 3, 4, 6, 7, 9]

>>> number = [1,4,6,2,9,7,3]

>>> number

[1, 4, 6, 2, 9, 7, 3]

>>> number.sort(reverse=true) #開始實現倒序

>>> number

[9, 7, 6, 4, 3, 2, 1]

>>> number = [1,4,6,2,9,7,3]

>>> number

[1, 4, 6, 2, 9, 7, 3]

>>> sorted(number,reverse=true)

[9, 7, 6, 4, 3, 2, 1]

假設有乙個list,如何知道它所擁有的內建函式呢?請用help(),幫助我吧。

>>> help(list)

python資料型別 list

儲存5個人的年齡,求平均年齡 本質 一種有序的集合 建立列表 格式 列表名 列表選項1,列表選項2,列表選項3,列表選項n list1 建立空列表 list2 18,19,20,21,22 注意 列表中的元素資料可以是不同的型別 list3 1,2,sunck good true 列表操作 訪問 列...

Python資料型別 之 list

list 字串的可變集合 一 功能 1.引用.extend 某一列表引用 批量往列表裡新增資料 用另外乙個可迭代的物件擴充到自己內部 1.引用.reverse 把列表裡的元素順序逆置 1.引用.insert 插入位置,插入元素 把插入元素插入到插入位置 不替代原來的元素,原來的元素靠後一位 以上這些...

python基礎資料型別 list

列表,承載任意資料型別,儲存大量的資料,儲存多種資料型別。列表是有序的 可索引 切片 列表的索引 切片 l jack 1,2,3 tony luffy print l 1 1,2,3 print l 1 1 2print l 2 jack 1,2,3 print l 1 luffy tony 1,2...