標籤:python
List:列表
1)列表運算式:有時可以很方便的代替函數實現一些功能
1.1)字串置中(長度為9個字元)>>> a = ["123","456","abc","Abc","AAA"]>>> [k.center(9) for k in a][‘ 123 ‘, ‘ 456 ‘, ‘ abc ‘, ‘ Abc ‘, ‘ AAA ‘]1.2)得到a中僅有字母組成的字串,將其變為大寫>>> [k.upper() for k in a if k.isalpha()][‘ABC‘, ‘ABC‘, ‘AAA‘]
2)常用操作方法
增加元素a.append(1) 在列表最後插入資料1a.insert(0,1) 索引0處插入資料1a.extend(b) 在列表a中追加列表b刪除元素a.pop() 刪除最後一個元素,並返回其值a.remove("a") 刪除元素a,從左至右依次刪除,無傳回值其他方法a.reverse() 將列表a反序a.count(3) 元素3出現的次數a.index(3) 元素3在列表中的索引str.replace(sub, new_sub) 用一個新的字串new_sub替換str中的sub
Str:字串
1)判斷字串類別的常用方法:滿足返回True
str.isalnum() 所有字元為數字0-9或者A-Z或者a-zstr.isalpha() 所有字元為字母a-z或者A-Zstr.isdigit() 所有字元為數字0-9str.islower() 所有字元為小寫字母str.isupper() 所有字元為大寫字母str.istitle() 首字母大寫str.isspace() 所有字元為空白字元
2)在字串中尋找子串
2.1)finds.find(substring,[start,[end]]) 如果找到,返回索引;找不到返回-12.2)遍曆字串for (index,char) in enumerate(S): enumerate()在每次迴圈中,返回的是一個包含兩個 元素的定值表(tuple),兩個元素分別賦予index和char
3)格式化
s.ljust(width) 靠左對齊;如果s長度小於width;那麼後面補空格s.rjust(width) 靠右對齊s.center(width) 置中s.strip() s.lstrip() s.rstrip() 去掉空格s.split() 分割字串(預設為空白格),返回list結果"\n".join([1,2,3]) 以\n串連[1,2,3];字串串連還可以使用+
tuple:常量list
Dict:字典
1)常見操作
a.clear() 清空字典a.copy() 拷貝字典:1> b=a.copy(),此時b時獨立的,改變b不會影響a;2>b=a,此時b指向a的記憶體空間值,因此修改b會影響aa.get(key) 若key存在,則返回a[key];否則,返回Nonea.get(key,default) 和上面不同的是,若key不存在,返回defaulta.has_key(key) 判斷字典中是否存在key;等於key in a.keys()遍曆字典dic.keys()、dic.values()、dic.items() 擷取所有鍵、所有值、所有元素(索引值對)
函數
1)傳參類型:傳的是name(命名空間)指向記憶體位址中的值
位置傳參;包裹傳遞(*args/**args);關鍵字傳參傳參的規則:先位置,再關鍵字,再包裹位置,再包裹關鍵字
2)不可變對象傳參、可變對象傳參
對象:分為不可變對象(int/tuple/string等)和可變對象(list/dict等)
a = 1 def change_integer(a): a = a + 1 return a print change_integer(a) print a>>>輸出2 1 不可變對象傳參:基礎資料型別 (Elementary Data Type)的變數,變數傳遞給函數後,函數會在記憶體中複製一個新的變數,從而不影響原來的變數 b = [1,2,3] def change_list(b): b[0] = b[0] + 1 return b print change_list(b) print b >>>輸出 [2,2,3] [2,2,3] 可變對象傳參;表來說,表傳遞給函數的是一個指標,指標指向 序列在記憶體中的位置,在函數中對錶的操作將在原有記憶體中進行,從而影響原有變數
3)常見函數
lambda函數 func = lambda x,y: x + y print func(3,4) 高階函數:函數作為參數傳遞 def test(f, a, b): print ‘test‘ print f(a, b) test((lambda x,y: x**2 + y), 3, 5) map函數:依次將函數對象作用於表中元素,第一個參數為函數 re = map((lambda x: x+3),[1,3,5,6]) re = map((lambda x,y: x+y),[1,2,3],[6,7,9]) filter函數:過濾;如果函數對象返回的是True,則該次的元素被儲存於返回的表中 def func(a): if a > 100: return True else: return False print filter(func,[10,56,101,500]) reduce:依次疊加進行操作;第一個函數必須要有2個參數 print reduce((lambda x,y: x+y),[1,2,5,7,9])
本文出自 “孔小發愛吃魚” 部落格,謝絕轉載!
【python】python學習筆記