九、python基礎:數據容器(列表的相關操作),較全面。
有時候我們忘記了列表的常用函數,可以在命令提示符窗口查詢列表的常用操作函數:
a = []
a.然後按下tab鍵
一、列表的創建:
1、簡單創建列表(手動創建):
1.1、使用中括號[]直接創建:
# 手動創建一個空列表,並賦值給變量a
a = []
# 手動創建一個包含數值型數據的列表
a = [1, 2, 3, 34, 43, 67.7]
# 手動創建一個包含多種類型數據的列表
a = [1, 1.2, 'hhaha', (1, 3), [1, 0, 4], {'name': '小明', 'age': 18}]
結果示例:
1.2、使用內置函數list()創建(也可以用來將字符串、元組、字典、生成器轉化成列表):
# 創建一個空列表,並賦值給變量a
a = list()
# 將字符串轉成列表
a = list('abcd123')
# 將元組轉成列表
a = list((1, 3, '你好'))
# 將字典轉成列表(注意,只會使用到字典的鍵key)
a = list({'name': '小明', 'age': 18})
# 將生成器轉成列表
a = list(range(1, 5))
結果示例:
2、使用列表推導式創建(需要搭配生成器range()使用),節省創建時間。
# 生成一個0-2構成的列表
[i for i in range(3)]
# 生成一個3-5構成的列表
[i+3 for i in range(3)]
# 生成一個由3個"a"構成的列表
["a" for i in range(3)]
# 生成一個由0-19之間的偶數構成的列表
[i for i in range(20) if i % 2 ==0]
結果示例:
3、列表的索引取值、切片取值、長度計算、遍歷
注意:列表的索引值是從0開始的,列表中第1個元素的索引值就是0,第2個就是1。
3.1、索引取值
# 先定義一個列表用來演示操作
a = [1, 1.2, 'hhaha', (1, 3), [1, 0, 4]]
# 正索引取值,取出列表a中索引值爲2的元素(使用空括號)
a[2]
# 負索引取值,取出列表a中倒數第1個元素(使用空括號)
a[-1]
3.2、切片取值
# 先定義一個列表用來演示操作
a = [1, 1.2, 'hhaha', (1, 3), [1, 0, 4]]
# 切片取值,取出列表a中索引值2開始的所有元素
a[2:]
# 切片取值,取出列表a中倒數第3個開始,往後的所有元素
a[-3:]
# 切片取值,取出列表a中索引值在2到4的元素
a[2: 4]
3.3、長度計算
# 先定義一個列表用來演示操作
a = [1, 1.2, 'hhaha', (1, 3), [1, 0, 4]]
# len()計算出列表長度
len(a)
3.4、列表的遍歷
# 先定義一個列表用來演示操作
a = [1, 1.2, 'hhaha', (1, 3), [1, 0, 4]]
# 使用for循環,將列表的每個元素都打印一遍
for i in a:
print(i)
4、其他常用的操作(包括增、刪、改、排序、統計、獲取索引值、去重、字符串轉列表、列表轉字符串)
以下各個方法中,“索引”和“數據”不是直接寫個“索引”和“數據”,而是要你傳入具體的索引值和數據
例如:
# 給列表a插入元素,使用下面的insert方法,需要指明你要插入到哪個位置,插入什麼數據
a = [1, 3, 4]
# 在列表a中,索引值爲2的位置,插入一個"小明"
a.insert(2, '小明')
結果示例:
以下其他的各種操作方法,自己動手操作一下
a = [1, 3, 4, 5]
# 增加
a.insert(索引,數據) # 插入,需要傳遞2個參數,第一個是索引,第二個是插入的數據
a.append(b) # 插入,默認在末尾插入數據b,如果b是個列表,會整個添加到a裏,包括中括號
a.extend(b) # 插入列表,降b列表拆開後逐一追加到末尾,無返回值。
# 修改替換
a[索引] = 數據 # 指定位置修改數據
# 刪除
del a[索引] # 刪除指定索引的數據,無返回值
a.remove(數據) # 刪除第一個出現的數據,無返回值
a.pop() # 默認刪除最後一個數據,返回所刪除的數據
a.pop(索引) # 刪除指定索引的數據,返回所刪除的數據
a.clear() # 清空列表,無返回值
# 排序(正向排序和反向排序)
a.sort() # 按照升序排序
a.sort(reverse= False) # 按照升序排序
a.sort(reverse= True) # 按照降序排序
a.reverse() # 反轉,整個倒轉過來,無論你原來是怎麼排序的,整個倒過來
# 統計
a.count('數據') # 計算數據出現的次數,返回一個數值
len(a) # 計算a的長度,返回一個數值
# 計算
max(a) # 計算列表a中的最大值
min(a) # 計算列表a中的最小值
# 獲取某個元素的索引值
a = [1, 3, 4, 'hah']
a.index(3)
a.index('hah')
# 去重(先set去重,再轉列表)
list(set(a))
# 字符串轉列表(先按逗號切割,後轉列表)
a = '郭靖,黃蓉,黃藥師'
list(a.split(','))
# 列表轉字符串(直接將每個元素拼接到一起)
a = ['郭靖', '黃蓉', '黃藥師']
a = ''.join(a)
# 也可以在拼接的時候,在每個元素之間加個句號"。"
a = ['郭靖', '黃蓉', '黃藥師']
a = '。'.join(a)