[TOC]
>[success] # list--列表
~~~
1.列表是python中的基礎數據類型之一,其他語言中也有類似于列表的數據類型,比如js中叫數組,他是以[]括起來,每個元素以逗號隔開
列表相比于字符串,不僅可以儲存不同的數據類型,而且可以儲存大量數據,32位python的限制是 536870912 個元
素,64位python的限制是 1152921504606846975 個元素。而且列表是有序的,有索引值,可切片,方便取值。
2.列表也可以切片,對于切片理解可以看切片單獨章節
~~~
>[danger] ##### 創建列表
~~~
test_list = ["周","吳","鄭","王"]
name_lists =list("周吳鄭王")
print(test_list)
print(name_lists)
打印結果:
['周', '吳', '鄭', '王']
['周', '吳', '鄭', '王']
~~~
>[danger] ##### append/ += -- 在列表末尾添加
~~~
1.使用+= 時注意,如果直接字符串添加,會將字符串拆解,推薦列表添加例
2.append 添加不會將可迭代對象拆開,也就是如果是列表或者字符串之類的會把一個整體保存進去
3.+=/
~~~
~~~
test_list = ["周","吳","鄭","王"]
test_list.append("添加內容")
print(test_list)
test_list = ["周","吳","鄭","王"]
test_list += ['添加內容']
print(test_list)
test_list = ["周","吳","鄭","王"]
test_list += '添加內容'
print(test_list)
打印結果:
['周', '吳', '鄭', '王', '添加內容']
['周', '吳', '鄭', '王', '添加內容']
['周', '吳', '鄭', '王', '添', '加', '內', '容']
~~~
>[danger] ##### insert -- 添加到指定位置
~~~
test_list = ["周","吳","鄭","王"]
test_list.insert(2,'insert')
print(test_list)
打印結果:
['周', '吳', 'insert', '鄭', '王']
~~~
>[danger] ##### extend -- 添加可迭代對象
~~~
test_list = ["周","吳","鄭","王"]
test_list.extend(['n','s'])
print(test_list)
打印結果:
['周', '吳', '鄭', '王', 'n', 's']
~~~
>[danger] ##### pop -- 根據位置刪除列表元素
~~~
# 不填位置參數默認刪除最后一個
test_list = ["周","吳","鄭","王"]
test_list.pop()
print(test_list)
# 填寫參數大于數組長度,會報錯
test_list = ["周","吳","鄭","王"]
test_list.pop(1)
print(test_list)
打印結果:
['周', '吳', '鄭']
['周', '鄭', '王']
~~~
>[danger] ##### remove -- 指定內容刪除
~~~
# 不填和填寫不存在都會報錯
test_list = ["周","吳","鄭","王"]
test_list.remove("周")
print(test_list)
打印結果:
['吳', '鄭', '王']
~~~
>[danger] ##### clear -- 清空列表中的內容
~~~
test_list = ["周","吳","鄭","王"]
test_list.clear()
print(test_list)
打印機結果:
[]
~~~
>[danger] ##### del -- 刪除列表
~~~
test_list = ["周","吳","鄭","王"]
del test_list
~~~
>[danger] ##### 切片/角標 -- 指定替換列表中內容
~~~
# 把切片指定內容去掉,把賦值內容進行迭代加入
test_list = ["周","吳","鄭","王"]
test_list[0:3] = ["w","s"]
print(test_list)
打印結果:
['w', 's', '王']
test_list = ["周","吳","鄭","王"]
test_list[0] = ["w","s"]
print(test_list)
打印結果:
[['w', 's'], '吳', '鄭', '王']
~~~
>[danger] ##### index -- 查詢特定值所在的位置
~~~
# 想查詢列表中某個值的位置時用index()列
name_list = ["周","吳","鄭","王"]
print(name_list.index("王"))
打印結果:
3
~~~
>[danger] ##### in -- 判斷值是否存在
~~~
# 判斷某個值是否存在列表中用in例:
name_list = ["周","吳","鄭","王"]
print("王" in name_list)
打印結果
True
~~~
>[danger] ##### count -- 判斷記錄值出現的次數
~~~
# 當想判斷列表中,一個值出現的次數的時候count例:
name_list = ["周","周","吳","鄭","王"]
print(name_list.count("周"))
打印結果
2
~~~
>[danger] ##### join -- 將列表轉換成字符串
~~~
# 我們想把列表中的內容,整理成字符串輸出可以使用join例:
name_list = ["周","周","吳","鄭","王"]
print(",".join(name_list))
打印結果:
周,周,吳,鄭,王
~~~
>[danger] ##### sort -- 重新排列元素
~~~
# 當我們想吧列表中的元素,默認按照升序排列sort()列:
num_list = [5,7,3,6,2,9,4]
num_list.sort()
print(num_list)
打印結果:
[2, 3, 4, 5, 6, 7, 9]
降序排列可以使用num_list.sort(reverse=True),當然python也自帶方法可以用來排序sorted(),其中sort不帶返回值,sorted()帶返回值
~~~
>[danger] ##### len -- 獲取長度
~~~
# len -- 用來返回字符串,元組,列表等長度的例:
A = "ssss"
print(len(A))
打印結果:
4
~~~
>[danger] ##### reverse -- 反轉
~~~
name_list = ["周","吳","鄭","王"]
name_list.reverse()
print(name_list)
打印結果:
['王', '鄭', '吳', '周']
~~~
- PYTHON-- 基礎
- Python -- 變量、常量、注解
- 算數\比較\賦值\邏輯運算符
- Python -- input 控制臺用戶輸入
- Python -- 流程控制/循環語句
- Python -- 切片
- Python -- 數據類型
- 基礎數據類型
- int -- 數字類型
- str -- 字符類型
- bool -- 布爾類型
- list -- 列表
- type -- 元祖
- dict -- 字典
- set -- 集合
- Python -- 深淺copy
- Python -- 文件的讀寫
- Python -- 函數
- 函數 -- 做參數使用
- 函數 -- 閉包
- 函數 -- 生成器
- 函數 -- 列表推導式
- 案例
- 基礎案例一
- 基礎案例二
- 基礎案例三
- COOKBOOK
- LIST、STR、DICT、TUPLE
- LIST - 列表方法總結
- 一、序列拆分成單獨變量
- 二、* 妙用
- 三、deque- 雙向隊列
- 四、求找到最大或最小的N個元素
- 4.1 heapq-- 簡單使用
- 五、去重并保持列表順序不變
- 六、切片slice
- 七、counter 統計序列中元素次數
- 八、itemgetter 列表套著字典排序
- 九、處理大量的列表數據
- 十、隨機事件處理列表
- DICT - 字典的總結方法
- 一、defaultdict 解決 KeyError
- 二、OrdereDict有序字典
- 三、zip 和 max/min 比較
- IDCT和LIST- 推導式
- 一、LIST 推導式
- 二、字典推到式
- TUPLE-元組
- 一、命名元組
- STR-字符串
- 一、常見的字符串方法
- 二、字符串拆分
- 三、字符串的位置匹配
- 四、字符串替換
- 五、正則大小寫/換行匹配
- 六、對字節類型處理
- 數字、日期、時間處理
- 一、數字的處理
- 二、時間換算
- 2.1 時間運算
- 2.2計算某一時刻上周幾的日期
- 2.2對時間轉換格式優化
- 迭代器和生成器
- 一、iter 迭代器 使用案例
- 二、生成器 yeild
- 三、構建一個反向迭代方法
- 四、實現反正函數構造
- 五、迭代對象切片/跳過元素
- 六、迭代出所有的組合排列
- 七、索引-值迭代序列化
- 八、zip 同時迭代多個序列
- 九、同時循環多個可迭代對象
- 十、yield from 遞歸案例
- 十一、合并序列,并按順序輸出
- 十二、使用 iter 替代 while True
- 操作文件
- 一、處理文件路徑
- 二、檢測文件/獲取文件信息
- 函數
- 一、函數基本案例使用
- 二、匿名函數
- 三、回調函數
- 四、閉包實現一個單個方法類
- 五、函數嵌套回調函數
- 類與對象
- 一、str/repr--讓類字符串表示
- 二、format -- 格式化類的內容
- 三、with -- 上下文管理類
- 四、創建節省內存的類
- 五、將類里面方法變成屬性
- 六、調用父類方法
- 七、擴展子類中的屬性
- 八、創建新的類或者實類屬性
- 九、簡化數據結果,簡化init
- 十、python 接口寫法
- 十一、通過類屬性創建委托訪問
- 十二、__new__重新初始化init
- 十三、通過字符串調用類
- 元編程
- 一、裝飾器
- 1.1 去掉裝飾器修飾
- 1.2 可接受參數裝飾器
- 1.3利用裝飾器對函數參數類型檢查
- 1.4編寫類裝飾器
- 1.5為類方法和靜態方法加裝飾器
- 1.6通過裝飾器給裝飾函數加參數
- 線程和進程