'''遞歸函數(shù)''' # n!=1*2*3*4*...*n def factorail(n): s = 1 for i in range(1,n+1): s *= i return s print(factorail(5)) ''' n! = (n-1)!*n (n-1)! = (n-2)!*(n-2) 2! = (2-1)!*2 1! = 1 ''' # 遞歸函數(shù) def fact(n): if n == 1: # 遞歸函數(shù)一定要有邊界條件 return 1 return fact(n-1)*n # 遞歸函數(shù)中一定要有對(duì)函數(shù)自己的調(diào)用 print(fact(5)) '''切片''' names = ['趙夢(mèng)冰','張榮亮','張國(guó)榮','焦新瑞','代金鑫'] ''' names[a:b:c]:表示截取從下標(biāo)a開(kāi)始到下標(biāo)b結(jié)束的所有元素,但不包含b c表示步長(zhǎng),默認(rèn)值是1 列表切片后還是列表 元組也可以切片后還是切片 字符串切片后還是字符串 ''' print(names[0:3]) # 如果第一個(gè)索引是0,可以省略不寫(xiě) print(names[:3]) # 如果一直截取到末尾,第二個(gè)索引可以省略不寫(xiě) print(names[3:]) # 復(fù)制列表 l = names[:] print(l) # 切片時(shí)可以指定步長(zhǎng),默認(rèn)值是1 print(names[::2]) # 元組切片后還是切片 name = ('趙夢(mèng)冰','張榮亮','張國(guó)榮','焦新瑞','代金鑫') print(name[0:3]) # 字符串切片后還是字符串 s = 'abcdef' print(s[:]) '''迭代''' names = ['趙夢(mèng)冰','張榮亮','張國(guó)榮','焦新瑞','代金鑫'] # 循環(huán),遍歷,迭代 Iteration # names:可迭代對(duì)象 列表,元組,字典,字符串 for name in names: print(name) # 遍歷key name_scores = {'趙夢(mèng)冰':88,'張榮亮':99,'侯富軍':77,'王顏麗':89,'焦新瑞':93,'張國(guó)榮':98} for key in name_scores: print(key,name_scores[key]) # 遍歷value for value in name_scores.values(): print(value) # 同時(shí)遍歷key和value for key,value in name_scores.items(): print(key,value) # 遍歷字符串 for char in 'abcdef': print(char) '''判斷對(duì)象是否可迭代''' from collections.abc import Iterable # isinstance(obj,type)判斷對(duì)象obj是否是type類(lèi)型,是則返回True,否則返回False print(isinstance(1,int)) print(isinstance('1',str)) print(isinstance('1',int)) print(isinstance(names,Iterable)) # 循環(huán)遍歷 for i,char in enumerate('abcdef'): print(i,char) ''' 列表生成式 ''' nums = list(range(10)) print(nums) # [1*1,2*2,3*3,...9*9] # 方法一 nums = [] for x in range(1,10): nums.append(x*x) print(nums) # 方法二 列表生成式 # ☆☆☆ m = [x*x for x in range(1,10)] print(m) # 用列表生成:[1,1/2,1/3, n = [1/x for x in range(1,10)] print(n) # 列表生成式中添加條件判斷 o = [x*x for x in range(1,10) if x%2==0] print(o) # 列表生成式中使用多重循環(huán) p = [x+y for x in 'ABC' for y in 'XYZ'] print(p) # 用列表生成式生成元組 q = tuple([x*x for x in range(1,10)]) print(q)
|