九、python基礎:數據容器(列表的相關操作),較全面

九、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中索引值在24的元素
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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章