Python3 爬蟲學習筆記、基礎、列表
建立檔案 base_3.py
#!/usr/bin/env python3 # 列表 感覺和陣列差不多 第一個索引是0,第二個索引是1... # 定義一個列表 a=[1,2,3,'a','b','c'] print(a) # 輸出第二個 print(a[1]) # 輸出第3-5 print(a[2:5]) # 刪除第4個 del a[3] print(a) b=['d','e','f'] # 拼接 a=a+b print(a) # 迴圈輸出 基本模式 for x in a: print(x) # 迴圈輸出 條件模式 print([x*1 for x in a if isinstance(x,int) if int(x)>0]) # a=[1,2,3,4,5,6,7,8,9] # 輸出最大 print('最大值 %r'%(max(a))) # 輸出最小 print('最小值 %r'%(min(a))) # 輸出長度 print('長度 %r'%(len(a))) # 轉換 d=(1,2,3,4) print(list(d)) # 定位插入 # 對於層疊列表,使用 insert 和 append 函式有一個非常特別之處,就是如果增加的是列表中的一個元素(子列表),則新增的元素初始只作為原元素的一個映象,這時候如果修改原元素(子列表)中的一個子元素,則新增元素同樣變化,修改新元素中的子元素也是如此。 a=[[0,1],[1,2],[2,3]] a.insert(2,a[1]) print (a) a.append(a[3]) print (a) a[1][1]=0 a[4][1]=4 print(a) # 如果想只修改其中一個元素(子列表),必須把該子列表完整定義一遍,如在上述程式碼後增加。 PS 沒有測試出來,還好用的少,鬱悶 print('重來 只改一個') a=[[0,1],[1,2],[2,3]] a.insert(2,a[1]) print (a) a.append(a[3]) print (a) b=a b[1]=[5,5] print (a) b[1][1]=0 b[4][1]=4 print(b)
執行結果
其他方法,記個名稱 用到了再說
1 list.append(obj) 在列表末尾新增新的物件
2 list.count(obj) 統計某個元素在列表中出現的次數
3 list.extend(seq) 在列表末尾一次性追加另一個序列中的多個值(用新列表擴充套件原來的列表)
4 list.index(obj) 從列表中找出某個值第一個匹配項的索引位置
5 list.insert(index, obj) 將物件插入列表
6 list.pop([index=-1]) 移除列表中的一個元素(預設最後一個元素),並且返回該元素的值
7 list.remove(obj) 移除列表中某個值的第一個匹配項
8 list.reverse() 反向列表中元素
9 list.sort( key=None, reverse=False) 對原列表進行排序
10 list.clear() 清空列表
11 list.copy() 複製列表
字典 PS:先用定義佔個位,用到了再來補充
字典是另一種可變容器模型,且可儲存任意型別物件。
字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
字典值可以是任何的 python 物件,既可以是標準的物件,也可以是使用者定義的,但鍵不行。
兩個重要的點需要記住:
1)不允許同一個鍵出現兩次。建立時如果同一個鍵被賦值兩次,後一個值會被記住
2)鍵必須不可變,所以可以用數字,字串或元組充當,而用列表就