while循環(huán)適用于未知循環(huán)次數(shù)的循環(huán),for循環(huán)適用于已知循環(huán)次數(shù)的循環(huán) 。
#whlie 循環(huán)
st = 'hello world'
n = 0
while n<=10:#調(diào)節(jié)循環(huán)
? ? print(st[n])
? ? n+=1
#for 循環(huán)
st = 'hello world lingfeng'
for n in st:#計(jì)數(shù)循環(huán),迭代(從一個(gè)數(shù)據(jù)類型里面,一個(gè)一個(gè)的獲取值)循環(huán)
? ? print(n)
錯(cuò)誤:for n in 123:#int類型不能進(jìn)行迭代循環(huán),因?yàn)?23是一個(gè)元素,無(wú)法循環(huán)
錯(cuò)誤:print(n)
range 函數(shù)可以取到一個(gè)范圍的整數(shù),相比while更簡(jiǎn)單
for n in range(12):
? ? print(n)
for n in range(6,12):? ?#區(qū)間
? ? print(n)
for n in range(0,101):#獲取這個(gè)區(qū)間內(nèi)所有偶數(shù)
? ? if n%2==0:
? ? ? ? print(n)
或:
for n in range(0,101,2):#2是步長(zhǎng)
? ? print(n)
for n in range(1,11):#2是步長(zhǎng)
? ? print(f'凌風(fēng)在跑步,這是第{n}圈')
? ? if n == 5:
? ? ? ? break
for n in range(1,11):#2是步長(zhǎng)
? ? if n == 5:
? ? ? ? continue
? ? print(f'凌風(fēng)在跑步,這是第{n}圈')
li = []?
n = ()
結(jié)果:type(li) #查看類型
<class 'list'> #列表
?type(n)??#查看類型
<class 'tuple'> #元祖
for n in range(101):
? ? if i%2==0:
? ? ? ? li.append(n) #.append(添加一個(gè)數(shù)據(jù))
li_2 = [m for m in range(101) if m%2==0]?
#(for m in range(101))生成數(shù)據(jù),(if m%2==0)生成條件,(m)變量添加
for n in range(101):
? ? if n%2==0:
? ? ? ? li.append(n*100)
? ? else:
? ? ? ? li.append(n*10)
li_2 = [m*100 if m%2==0 else m*10 for m in range(101)]
?#三目運(yùn)算符
st = 'hello world'
li3 = [i for i in st if i!=' ' ] #當(dāng)不等于“空格”時(shí),添加
lingfeng = ['lingfeng',18,'nan',180]
?>>> test = ['test',28,'wumen',160]
?>>> lingfeng['lingfeng', 18, 'nan', 180]?
>>> test['test', 28, 'wumen', 160]
列表保存多個(gè)信息
mr=['lingfeng', 18, 'nan', 180, 'zhangsha']
mr[0:4]#索引值0到索引值4
mr[0:4:2] #【2】步長(zhǎng)
mr[-1:-4:-1] #后面的-1,是負(fù)索引
>>> mr[0:] #索引值0到最大值
>>> mr[0:100] #區(qū)間
>>> mr[:4] #最小值到索引值4
mr.index('zhangsha') #.index查看元素索引值位置
mr.append('a') #.append列表添加
mr.insert(4,'n') #.insert指定位置插入
mr.extend(['q','w','e','r']) #.extend多個(gè)數(shù)據(jù)插入
mr.extend(['hello','world'])#.extend插入單詞
li = [1,2,3,4,5]
>>> li[2:3] = [3,'q']
中間的一段取出來(lái),添加
li.pop(1)#.pop(1)根據(jù)索引值刪除
li.pop() #.pop默認(rèn)刪除最后一個(gè)
li.remove(5) #根據(jù)元素去刪除
mr = ['a', 'q', 'w', 'e', 'r']
del mr[1:3] #刪除一段范圍的數(shù)據(jù)
mr.clear()#刪除列表中全部數(shù)據(jù)
li =?[1,5,7,9,3,4,8]
li_1=li.copy()#復(fù)制一個(gè)列表
li_1.sort() #永久排序,從小到大
li_2=sorted(li)?#臨時(shí)排序
sorted(li,reverse=True)#反向排序
li = [1,1,1,1,2,2,2,2]
li.count(1)#查看一個(gè)列表中的元素出現(xiàn)了多少次?
tu = ('a','b','c','d')
>>> type(tu)
<class 'tuple'>#tuple是元組
a,b,c,d,e = tu#這是拆包
a,*b = tu#a正常接收一個(gè)數(shù)據(jù),*b接收剩下的所有數(shù)據(jù)
a,*b,c = tu
元組修改數(shù)據(jù)
tu = ('a','b','c','d')
tu_1=list(tu)
tu_1[0:1]=['d','j']
tu=tuple(tu_1)
把元組轉(zhuǎn)成列表修改,修改完后轉(zhuǎn)回元組
作業(yè):1.用for循環(huán)寫(xiě)一個(gè)乘法口訣表
2.一個(gè)列表中有重復(fù)元素,編寫(xiě)程序,移除重復(fù)元素(只能使用我們學(xué)過(guò)的內(nèi)容來(lái)實(shí)現(xiàn))
答案:
1.
for j in range(1,10):
? ? for i in range(1,10):
? ? ? ? if i<=j:
? ? ? ? ? ? print(str(i)+'*'+str(j)+'='+str(i*j),end='\t')
? ? print('')
2.
li = [1,1,1,1,1,2,2,2,3,2,3,7,5,6,4,5]
li_1 = []
for i in li:
? ? if li.count(i)==1 :
? ? ? ? li_1.append(i)? ?
print(sorted(li_1))
li_2 =[i for i in li if li.count(i)==1]
print(sorted(li_2))? ? ?
for i in li:
? ? if i not in li_1:
? ? ? ? li_1.append(i)
print(sorted(li_1))
li_3 = [i for i in li if i not in li_1]
print(sorted(li_1))
或者
