列表
列表是python中最基本也是最常用的資料結構之一。列表中的每個元素都被分配乙個數字作為索引,用來表示該元素在列表內所排在的位置。第乙個元素的索引是0,第二個索引是1,依此類推。
python的列表是乙個有序可重複的元素集合,可巢狀、迭代、修改、分片、追加、刪除,成員判斷。
從資料結構角度看,python的列表是乙個可變長度的順序儲存結構,每乙個位置存放的都是物件的指標。
比如,對於這個列表 alist = [1, 「a」, [11,22], ],其在記憶體內的儲存方式是這樣的:
1. 建立方式
建立乙個列表,只要把逗號分隔的不同的資料項使用方括號括起來即可。列表內的元素,可以是其它任意型別的資料,可多層巢狀列表,元素個數無限制。
>>
> lis =
# 建立乙個空列表
>>
> lis =[1
,2,3
]>>
> lis =[1
,'a',[
11,22]
,]>>
> lis =[1
,2,[
3,4,5]]
2. 訪問列表內的元素列表從0開始為它的每乙個元素順序建立下標索引,直到總長度減一。要訪問它的某個元素,以方括號加下標值的方式即可。注意要確保索引不越界,一旦訪問的 索引超過範圍,會丟擲異常。所以,一定要記得最後乙個元素的索引是len(list)-1。
>>
> lis =
["a"
,"b"
,"c"
]>>
> lis[0]
'a'>>
> lis[1]
'b'>>
> lis[2]
'c'>>
> lis[3]
traceback (most recent call last)
: file ""
, line 1,in
lis[3]
indexerror:
list index out of range
修改元素的值直接對元素進行重新賦值。
>>
> lis[0]
'a'>>
> lis[0]
="d"
>>
> lis[0]
'd'
4. 刪除元素使用del語句或者remove(),pop()方法刪除指定的元素。
>>
> lis =
["a"
,"b"
,"c"
]>>
>
del lis[0]
>>
> lis
['b'
,'c'
]>>
> lis.remove(
"b")
>>
> lis
['c'
]>>
> lis.pop(
)'c'
>>
> lis
5. 列表的特殊操作除了以上的常規操作,列表還有很多有用的其它操作。
6. 針對列表的常用函式
python有很多內建函式,可以操作列表。
# 不能混合不同型別進行最大最小求值
traceback (most recent call last)
: file ""
, line 1,in
max(s)
typeerror:
'>'
not supported between instances of 'str'
and'int'
這些操作都不會修改列表本身,屬於安全操作。max、min在python3中,不能對不同型別的物件進行大小的比較了。
for迴圈原來是這樣
for迴圈可以說是程式中最靈活,最常用,最重要的乙個迴圈用法,大家經常用到,但是你真正理解for迴圈的執行原理嗎?舉個例子 for i 0 i 8 i 對於這個語句執行結束的時候 i 是多少?經常用,卻沒怎麼注意,執行結束的時候 i 是8 下面說一下for迴圈語句的執行過程 for 表示式1 表示式...
快速排序 原來是這樣
咚咚咚,開講啦!今天呢,讓我們來看看一種快速的排序方法,哈哈,它的名字就叫做快速排序,時間複雜度 o nlogn 首先呢,以第乙個數 為了方便 為基準數也可以叫參照數,隨你怎麼叫,就是拿來參照的。比如 這樣一組亂序的數字 i j 6 1 2 7 9 3 4 5 10 8 小i站在 6 上面,小j站在...
MyBatis原來是這樣的 04
關於介面的理解 乙個體有可能有多個抽象面。抽象體與抽象面是有區別的。三個面向區別 1 我們在我們的介面中新增註解 查詢全部使用者 select select id,name,pwd password from user public listgetalluser 2 在mybatis的核心配置檔案中...