python 基礎

  • cmp(str1,str2) 比較字符串,str1>str2值是1,相等是0,小於是-1
  • 元組和字符串的值不能進行修改
  • 定義單一元素的元組時,必須加逗號,如 t1=(3,),否則該例子就是整形
  • 如果有元組t=(“hehe”,30,”,”male”),可以將元組賦值給變量,name,age,sex'=t,一般定義變量也可以這樣a,b,c=1,2,3;提倡給1,2,3加上括號
  • 列表添加元素list.append(“343”),刪除list.remove(“343”)或者list.remove(list[3]),也可以用del(list[])刪除
  • print()可以跟多個參數,用‘,’隔開,輸出是逗號變成一個空格
  • 輸出多行,print(”’字符”’),其中的”’也算一行,如果沒有字符就輸出一個空行,多行不轉義,print(r”’str”’);
  • 一般除法10/3=3.3333335,要整數除法:多加一個除號10//3=3
  • 輸出佔位符,輸出變量 print(‘str %s’ % str),如’%2d-%02d’ % (3,1)=>’ 3-01’,如果不確定變量是什麼類型,用%s永遠管用,它會把變量都變成str輸出
  • clssmates[‘michael’,’tracy’,’adam’],插入元素classmates.insert(1,’jack’),結果是[‘michael’,’jack’,’tracy’,’adam’],刪除指定位置的元素clssmates.pop(1),結果是’michael’,’tracy’,’adam’,如果沒有參數,默認是末尾元素
  • 可變的tuple,t(‘a’,’b’,[‘A’,’B’]),t[2][0]=’x’,t[2][0]=’y’,結果是,t(‘a’,’b’,[‘x’,’y’])
  • input([str]),返回值是str類型,參數是輸入前先要輸入的字符串,可以是輸入的提示,返回值轉整形int(string)
  • range(5)生成一個1-5的整數序列,a=list(range(5)),將序列轉化成列表,不包含5,如range(3,5),是3,4
  • 判斷一個鍵值是否在字典裏,’thomas’ in d—>bool,及是否有d[‘thomas’]或者用get方法,如果鍵值不存在就返回none,或自己指定的值
  • 字典初始化後可以採用List方式賦值,如d[2]=’thomas’,沒初始化則不行
  • 用pop(),del()刪除一個key,value也會被刪除
  • 字典的key必須是不可變的,所以list不能用做key
  • 要創建一個set,需要一個list作爲輸入集合,如s=set([1,2,3]),set和dict類似,只是不存儲value,不含重複元素
  • set添加元素,s.add(4),可以重複添加,但是沒效果,刪除s.remove(4)
  • set和數學意義上集合一樣,可以求並集,交集,如**s1=set([1,2,3]),s2=([2,3,4]),s1&2=>{2,3},s1|s2=>{1,2,3,4}
  • L=list(range(10)) L=[0,1,2,3,4,5,6,7,8,9] L[:10:2]=[0,2,4,6,8]表示0-10從0開始,每兩個取一個數,L[::2]=(0,2,4,6,8),所有每隔兩個取一個數,L[:]原樣複製一個列表
  • 字符串可以直接取,’abcd’[:2]=’ab’
  • 判斷一個對象是否可以迭代,from collections import Iterable 然後isinstance(‘abc’,Iterable)
  • 像java那樣實現下標遍歷 for i,value in enumerate([‘a’,’b’,’c’]):print(i,value) enumerate()函數,把list變成索引-元素對
  • for循環裏,同時引用兩個變量很常見,如for x,y in [(1,1),(2,4),(3,9)]: print(x,y)—>1 1 / 2 4/ 3 9
  • range()功能強大,用在for循環裏L=[] for x in range(1,11): L.append(x*x)
  • 簡化上面的方法:[x*x for x in range(1,11)]—>[1,4,9,16,25,36,49,64,81,100]構造出了一個列表
  • 還可以兩層循環[m+n for m in ‘abc’ for n in ‘xyz’]—>[‘ax’,’ay’,’az’,bx’,’by’,’bz’,’cx’,’cy’,’cz’]
  • 列出當前目錄下的所有文件和目錄,2行代碼實現import os [d for d in os.listdir('.')]
  • 用dice的items()可以迭代key和valued={'x':'a','y':'b','z':'c'} for k,v in d.items(): print(k,'=',v)—->y=b / x=a / z=c
  • 列表也可以用兩個變量來生成list:d={'x':'a','y':'b','z':'c'} [k+'='+v for k,v in d.items()]—->[‘x=b’,’x=a’,’z=c’]
  • str.lower()變小寫函數 ‘AC‘.lower()—>ac ,str.upper()變大寫
  • 爲節省空間,採用生成器,將[]改成()就行,如:g=(x*x for x in range(10)),每次next(g)會得出一個迭代的值,直到遍歷完
  • g=(x*x for x in range(10)) 用for遍歷,for n in g:print(n)
  • *
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章