兩種循環(huán)
1.for...in循環(huán)
nums = ['0000', '1111', '2222']
for num in nums:
print(num)
2.while循環(huán)
sum = 0
n = 100
while n > 0:
sum = sum + n
n = n - 1
print(sum)
break語(yǔ)句可以在循環(huán)過(guò)程中直接退出循環(huán),而continue語(yǔ)句可以提前結(jié)束本輪循環(huán),并直接開(kāi)始下一輪循環(huán)。
dict字典
people = {'Jerry': 21, 'Tom': 25, 'Tony': 47}
print(people['Jerry'])
people['Tom']=28 #設(shè)置鍵值
print(people['Tom']) #28
print('kelly' in people) #判斷Key是否存在print(d.get('Thomas')) false
print(people.get('kelly')) #判斷Key是否存在 不存在返回none或者自己指定的value none
print(people.get('kelly',-2)) #不存在返回自己指定的value -2
people.pop('Tom') #刪除一個(gè)key
print(people) # {'Jerry': 21, 'Tony': 47}
dict全稱dictionary,在其他語(yǔ)言中稱為map,使用鍵-值(key-value)存儲(chǔ),優(yōu)點(diǎn)是具有極快的查找速度。
注意:dict內(nèi)部存放的順序和key放入的順序是沒(méi)有關(guān)系的
和list比較,dict有以下幾個(gè)特點(diǎn):
1.查找和插入的速度極快,不會(huì)隨著key的增加而變慢;
2.需要占用大量的內(nèi)存,內(nèi)存浪費(fèi)多。
而list相反:
1.查找和插入的時(shí)間隨著元素的增加而增加;
2.占用空間小,浪費(fèi)內(nèi)存很少。
所以,dict是用空間來(lái)?yè)Q取時(shí)間的一種方法。
set
set和dict類似,也是一組key的集合,不存儲(chǔ)value,并且key值不能重復(fù)。
s = set([1, 2, 3,4,5,4,3,4,2,1])
print(s) #{1, 2, 3, 4, 5}
add(key)添加元素
s.add('55')
print(s) #{1, 2, 3, 4, 5, '55'}
remove(key)刪除元素
s.remove(4)
print(s) #{1, 2, 3, 5, '55'}
函數(shù)
print(abs(-22)) # 絕對(duì)值 22
函數(shù)
定義一個(gè)函數(shù)要使用def語(yǔ)句,依次寫(xiě)出函數(shù)名、括號(hào)、括號(hào)中的參數(shù)和冒號(hào):,然后,在縮進(jìn)塊中編寫(xiě)函數(shù)體,函數(shù)的返回值用return語(yǔ)句返回。
demo:
def my_abs(x):
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x >= 0:
return x
else:
return -x
print(my_abs(777)) #777
print(my_abs(-999)) #999
def calc(numbers): #參數(shù)
sum = 0
for n in numbers:
sum = sum + n * n
return sum
print(calc([2,5,7,9,4])) #計(jì)算a*a+b*b+...的和
def calc(*numbers): #*表示可變參數(shù),可以不傳
sum = 0
for n in numbers:
sum = sum + n * n
return sum
print(calc(22,6,7,8,9,10)) #814
print(calc()) #0
迭代
for i, value in enumerate(['A', 'B', 'C']):
print(value)