字典:dict
dict={'mick':95,'bob':84,'hello':70}
判斷字典里是否有某個元素:'Thomas'ind
二是通過dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:
要刪除一個key,用pop(key)方法,
總結:dict是用空間來換取時間的一種方法.速度比list列表快!
第一條就是dict的key必須是不可變對象,字符串、整數等都是不可變的,因此,可以放心地作為key。
set和dict類似,也是一組key的集合
要創建一個set,需要提供一個list作為輸入集合:
s = set([1,2,3])
重復元素在set中自動被過濾:s = set([1,1,2,2,3,3])
通過add(key)方法可以添加元素到set中,可以重復添加,但不會有效果:
通過remove(key)方法可以刪除元素:
兩個set可以做數學意義上的交集 & 、并集 | 等操作:
list是可變對象。可以排序
a = ['c','b','a']
a.sort()
字符串很安全的替換:a字符串沒有被改變
b = a.replace('a','A')
注意:
tuple雖然是不變對象,但試試把(1, 2, 3)和(1, [2, 3])放入dict或set中,并解釋結果
dist={'tt':95}
t=(1,2,3)
dist[t]=11
數據類型轉換
float
int
str
bool
自定義函數
defmy_abs(x):
引入導入函數
用from abstest
import my_abs來導入my_abs()函數,注意abstest是文件名(不含.py擴展名):
比如現在還沒想好怎么寫函數的代碼,就可以先放一個pass,讓代碼能運行起來。
def?my_abs(x):
if?not?isinstance(x, (int, float)):
raise?TypeError('bad
operand type')
if?x >=0:
return?x
else:
return?-x
如果傳入錯誤的參數類型,函數就可以拋出一個錯誤:
函數返回多個值
import?math
def?move(x, y, step, angle=0):
nx = x + step *math.cos(angle)
ny = y - step *math.sin(angle)
return?nx, ny
x, y = move(100,100,60, math.pi /6)