【python】python學習筆記
阿新 • • 發佈:2017-10-30
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) 在列表最後插入數據1 a.insert(0,1) 索引0處插入數據1 a.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-z str.isalpha() 所有字符為字母a-z或者A-Z str.isdigit() 所有字符為數字0-9 str.islower() 所有字符為小寫字母 str.isupper() 所有字符為大寫字母 str.istitle() 首字母大寫 str.isspace() 所有字符為空白字符
2)在字符串中查找子串
2.1)find s.find(substring,[start,[end]]) 如果找到,返回索引;找不到返回-1 2.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會影響a a.get(key) 若key存在,則返回a[key];否則,返回None a.get(key,default) 和上面不同的是,若key不存在,返回default a.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 不可變對象傳參:基本數據類型的變量,變量傳遞給函數後,函數會在內存中復制 一個新的變量,從而不影響原來的變量 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學習筆記