Python學習筆記 2

2021-07-07 03:37:33 字數 4201 閱讀 4165

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 小知識點 通過這種方式匯入...