PYTHON機器學習自學/自修 整理[00023] ~ Python – 100天从新手到大师(07.字串和常用数据结构.md)
PYTHON機器學習自學/自修 整理[00023] ~ Python – 100天从新手到大师(07.字串和常用数据结构.md)
列表(陣列)常用操作
import sys import decimal#精準度/精度 運算 import random list1=[ 1 , 3 , 5 , 7 , 100 ] print(list1) #[1, 3, 5, 7, 100] #乘號表示列表元素的重複 list2=[ 'hello' ] * 3 print(list2) #['hello', 'hello', 'hello'] #計算列表長度(元素個數) print(len(list1)) # 5 #下標(索引)運算 print(list1[ 0 ]) # 1 print(list1[ 4 ]) # 100 # print(list1[5]) # IndexError: list index out of range print(list1[ - 1 ]) # 100 print(list1[ - 3 ]) # 5 list1[ 2 ] = 300 print(list1) #[1, 3, 300, 7, 100] #通過循環用下標遍歷列表元素 for index in range(len(list1)): print(list1[ index ]) #通過for循環遍歷列表元素 for elem in list1 : print(elem) #通過enumerate函數處理列表之後再遍歷可以同時獲得元素索引和值 for index , elem in enumerate(list1): print(index , elem) list1 = [ 1 , 3 , 5 , 7 , 100 ] #添加元素 list1.append ( 200 ) list1.insert ( 1 , 400 ) #合併兩個列表 # list1.extend([1000, 2000]) list1+= [ 1000 , 2000 ] print( list1 ) # [1, 400, 3, 5, 7, 100, 200, 1000, 2000] print( len ( list1 )) # 9 #先通過成員運算判斷元素是否在列表中,如果存在就刪除該元素 if 3 in list1 : list1.remove ( 3 ) if 1234 in list1 : list1.remove ( 1234 ) print ( list1 ) # [1, 400, 5, 7, 100, 200, 1000, 2000] #從指定的位置刪除元素 list1.pop ( 0 ) list1.pop ( len ( list1 ) - 1 ) print ( list1) # [400, 5, 7, 100, 200, 1000] #清空列表元素 list1.clear () print ( list1 ) # [] fruits = [ 'grape' , 'apple' , 'strawberry' , 'waxberry' ] fruits += [ 'pitaya' , 'pear' , 'mango' ] #列表切片 fruits2 = fruits [ 1 : 4 ] print ( fruits2 ) # apple strawberry waxberry #可以通過完整切片操作來複製列表 fruits3 = fruits [:] print ( fruits3 ) # ['grape', 'apple', 'strawberry', 'waxberry','pitaya', 'pear', 'mango'] fruits4 = fruits [ - 3 : - 1 ] print ( fruits4 ) # ['pitaya', 'pear'] #可以通過反向切片操作來獲得倒轉後的列表的拷貝 fruits5 = fruits [:: - 1 ] print ( fruits5 ) # ['mango', 'pear', 'pitaya', 'waxberry', 'strawberry', 'apple', 'grape'] # sorted函數返回列表排序後的拷貝不會修改傳入的列表 list1 = [ 'orange' , 'apple' , 'zoo' , 'internationalization' , 'blueberry' ] list2 = sorted ( list1 ) #函數的設計就應該像sorted函數一樣盡可能不產生副作用 list3 = sorted ( list1 , reverse = True ) #通過key關鍵字參數指定根據字符串長度進行排序而不是默認的字母表順序 list4 = sorted ( list1 , key = len ) print ( list1 ) print ( list2 ) print ( list3 ) print ( list4 ) #給列表對象發出排序消息直接在列表對像上進行排序 list1 . sort ( reverse = True ) print ( list1 )