列表的創建(3種方式和推導式創建列表方法):
1.基本語法[]創建
>>>a=[10,20,30,40]
>>>a=[] #創建一個空的列表對象
2.list()創建
使用list()可以將任何可迭代的數據轉化成列表
>>>a=list()
>>>a=list(range(10))
>>>a
[0,1,2,3,4,5,6,7,8,9]
>>>a=list("hello world")
>>>a
['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
3.range()創建整數列表
range()可以幫我們非常方便的創建整數列表,這在開發中及其有用,語法格式:
range([start,],end.[,step])
start 參數:可選,表示起始數字,默認爲0
end 參數:可選,表示結尾數字
step 參數: 可選,表示步長,默認爲1
Python3中range()發回的是一個range對象,而不是一個列表,我們需要通過list()方法將其轉換成列表對象。
例子:
>>>list(range(3,15,2))
[3,5,7,9,11,13]
>>>list(range(10,3,-1))
[10, 9, 8, 7, 6, 5, 4]
>>>list(range(3,-10,-1))
[3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
4.推導式生成列表(簡單介紹一下)
使用列表推導式非常方便的創建列表,在開發中經常使用。
例子:
>>>a=[x*2 for x in range(5)]
>>>a
[0, 2, 4, 6, 8]
>>>a=[x*2 for x in range(100) if x%9==0] #通過if過濾元素
>>>a
[0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]
序列:
序列是一種數據存儲方式,用來存儲一系列的數據,在內存中,序列就是一塊用來存放多個值得連續的內存空間,比如一個整數序列[10,20,30,40],可以這樣表示:
10 | 20 | 30 | 40 |
由於Python3中一切皆對象,在內存中實際是按照如下方式存儲的
a=[10,20,30,40]
從圖中,可以看到序列中存儲的是整數對象的地址,而不是整數對象的值,python中常用的序列結構有:
字符串,列表,元組,字典,集合
列表:用於存儲任意數目、任意類型的數據集合
列表是內置可變序列,是包含多個元素的有序連續的內存空間,列表定義的標準語法格式:
a=[10,20,30,40]
其中,10,20,30,40這些稱爲,列表a的元素。
列表中的元素可以各不相同,可以任意類型,比如:
a=[10,20,30,"ab","cd",True]
列表對象的常用方法彙總,如下:
方法 | 要點 | 描述 |
list.append(x) | 增加元素 | 將列表元素x增加到列表list尾部 |
list.extend(aList) | 增加元素 | 將列表alist所有元素加到列表list尾部 |
list.insert(index,x) | 增加元素 | 在列表list指定位置inidex處插入元素x |
list.remove(x) | 刪除元素 | 在列表list中刪除首次出現的指定元素x |
list.pop([index]) |
刪除元素 | 刪除並返回列表list指定爲止index處的元素,默認是最後一個元素 |
del list[index] | 刪除元素 | 按照列表list的index刪除元素 |
list.clear() | 刪除所有元素 | 刪除列表所有元素,並不是刪除列表對象 |
list.index(x) | 訪問元素 | 返回第一個x的索引位置,若不存在x元素拋出異常 |
list.count(x) | 計數 | 返回指定元素x在列表list中出現的次數 |
len(list) | 列表長度 | 返回列表中包含元素的個數 |
list.reverse() | 旋轉列表 | 所有元素原地旋轉 |
list.sort() | 排序 | 所有元素排序 |
list.copy() | 淺拷貝 | 返回列表對象的淺拷 |
Python的列表大小可變,根據需要隨時增加或者縮小。 字符串和列表都是序列,一個字符串是一個字符序列,一個列表適任何元素的序列。 很多字符串的方法,在列表中也有類似的用法,幾乎一模一樣。