1.str.find()如果沒有發現字串,會返回-1,如果使用index,若字串沒發現,會報錯,所以常用find。
2.str.replace("bb","bb",3),後面指定了3,則會替換str前3個bb為bb。
3.for迴圈有點類似oracle中的for迴圈,若變數直接in乙個列表。
4.range第乙個引數為起始值,第二個引數為末尾值(不包含),第三個引數為步長。
5.list可以將乙個元組轉換成乙個列表。
6.元組(),列表,元組和列表都可以用下標訪問,但是元組是唯讀的,列表是可以被修改的。
7.字串可以用split分割,預設是空格分割,也可以用指定的字元分割。分割後拷貝稱乙個列表。
8.tuple可以把列表換成元組。也可以把字串換成元組。
9.列表是可以使用insert進行插入新值。s.insert(1,'str'),在某個索引後面插入新值。
12.列表的pop函式,刪除並且返回某個index的值,列表變短,返回index所在的值。
13.列表的remove函式,刪除第一次出現的這個值。
14.列表的count返回某個值出現的次數。
15.用def來定義乙個函式,以冒號縮進來標識程式體。,可以放入引數,作為形參。
16.位於函式體內的變數和形參都是區域性變數。
17.如果在函式體內只能讀全域性變數,不能寫,如果需要修改全域性變數,那麼就是需要宣告一下,如global a。
18.可以使用return用來返回乙個值。
19.可以用兩個引數來接收函式返回的兩個值,return不一定只能返回乙個值,比如a,b = swap2(a,b)。
20.map函式第乙個引數是乙個函式f,第二個引數作為第乙個函式的形參傳入,如果有第三個引數,那麼也是作為第乙個函式的形參。
21.字典是一系列的鍵值對逗號間隔的集合。如果有多個相同的鍵不同的值,那麼後面的值會覆蓋前面的值。
22.欄位需要初始化,例如d = dict()。通過d.keys()和d.values()來發訪問鍵值。
23.dict函式可以將元組組成的列表轉化成字典。
24.items可以將字典轉換成列表。
25.get可以獲取鍵對應的值,可以類似oracle的nvl函式,加上第二個引數,如果沒有這個鍵,則返回第二個引數。
26.setdefault如果這個鍵沒有值,那麼就給這個鍵賦值。
27.zip可以把兩個元組轉換成乙個由元組組成的列表。
sa = "aa bb cc dd ee ff gg hh"
sb = "ax bb dx ee fx"
sc = "dt bb fy cc hy ee tx"
bname = "bb"
ename = "ee"
st = sa.split()
n = range(0,len(st))
p1 = zip(n,st)
pt1 = dict(p1)
dp1 = pt1.keys()
print "pt1",pt1
st = sb.split()
n = range(0,len(st))
p2 = zip(n,st)
pt2 = dict(p2)
dp2 = pt2.keys()
print "pt2",pt2
st = sc.split()
n = range(0,len(st))
p3 = zip(n,st)
pt3 = dict(p3)
dp3 = pt3.keys()
print "pt3",pt3
print dp1
print dp2
print dp3
dp =
print dp
for d in dp:
print 'd',d
for k in d.keys():
if d[k] == bname:
start = k
if d[k] == ename:
end = k
print start,end
for x in d.values()[start:end]:
print x,'->',
print d.values()[end]
r1 = "aa bb cc dd yx gg"
r2 = "tt yy ww cc ee hh"
bn = "bb"
en = "ee"
rd1 = r1.split()
rd2 = r2.split()
print rd1
print rd2
if bn in rd1:
bs = rd1.index(bn)
print "find begin station at", bs
if en in rd2:
es = rd2.index(en)
print "find end station at",es
i = 0
for x1 in rd1:
if x1 in rd2:
ex = rd1.index(x1)
print x1,rd1.index(x1),rd2.index(x1)
i += 1
for x in rd1[bs:ex]:
print x,'->',
print rd1[ex]
r1 = "aa bb cc dd yx gg"
r2 = "tt yy ww cc ff tx ee hh"
bn = "bb"
en = "ee"
rd1 = r1.split()
rd2 = r2.split()
print rd1
print rd2
if bn in rd1:
bs = rd1.index(bn)
print "find begin station at", bs
if en in rd2:
es = rd2.index(en)
print "find end station at",es
i = 0
for x1 in rd1:
if x1 in rd2:
ex1 = rd1.index(x1)
ex2 = rd2.index(x1)
print x1,rd1.index(x1),rd2.index(x1)
i += 1
for x in rd1[bs:ex1]:
print x,'->',
print rd1[ex1]
if ex2 < es:
for x in rd2[ex2:es]:
print x,'->',
print rd2[es]
else:
for x in rd2[ex2:es:-1]:
print x,'->',
print rd2[es]
r1 = "aa bb cc uu dd yx gg"
r2 = "tt yy ww mm cc ee hh"
r3 = "pp cx mm nn ee"
bn = "bb"
en = "ee"
rd1 = r1.split()
rd2 = r2.split()
rd3 = r3.split()
print rd1
print rd2
print rd3
def findexchange(r1,r2):
for x in r1:
if x in r2:
ex1 = r1.index(x)
ex2 = r2.index(x)
print x , r1.index(x), r2.index(x)
findexchange(rd1,rd2)
findexchange(rd2,rd3)
print '---------'
findexchange(rd1,[bn,en])
print '---------'
findexchange(rd2,[bn,en])
print '---------'
findexchange(rd3,[bn,en])
Python學習筆記 2
python學習筆記 2 1 error and exceptions 錯誤和異常 語法錯誤是在編譯時檢查,但python允許在程式執行期間檢查錯誤。當檢查出錯誤,python直譯器丟擲 產生 觸發乙個異常。要增加錯誤檢測或異常處理到 使用try except語句。語法如下 try try runn...
python學習筆記 2
八 type函式的作用是顯示值和變數的型別,id以值或變數為引數,返回值是一整數.type world type str id 123 11602164 九 python函式的定義形式 def arg1,arg2,argn 函式的名字也必須以字母開頭,可以包括下劃線 但不能把python的 關鍵字定...
Python學習筆記 2
已經學習python兩天了,總結一下學習成果。初學python,如果有寫錯的地方,還望各位大牛指出。先列一列作品 python socket 客戶端測試程式 easygui 猜數遊戲 看雪登入器 涉及到的知識點 物件導向 socket庫 httplib2庫 easygui 小知識點 通過這種方式匯入...