數(shù)值類型
-
不同進(jìn)制數(shù)字面量
a = 0b111 # 二進(jìn)制
b = 0o234 # 八進(jìn)制
c = 0xabc # 十六進(jìn)制
-
進(jìn)制轉(zhuǎn)化函數(shù)
# 把一個(gè)整數(shù)轉(zhuǎn)換成三種進(jìn)制表示的字符串
hex(I)
oct(I)
bin(I)
# 根據(jù)給定的進(jìn)制把一個(gè)字符串轉(zhuǎn)化為整數(shù)
int(str, base)
-
常用內(nèi)置數(shù)學(xué)工具
import math
# 向下取整
math.floor(2.567) == 2
math.floor(-2.567) == -3
# 向零取整
math.trunc(2.567) == 2
math.trunc(-2.567) == -2
# 舍棄小數(shù)部分
int(2.567) == 2
int(-2.567) == -2
# 四舍五入
round(2.567) == 3
round(2.456) == 2
round(2.456, 2) = 2.46 #保留兩位小數(shù)
-
random模塊
import random
# 從一個(gè)序列中隨機(jī)選取一項(xiàng)
random.choice([1, 2, 3, 4])
# 打亂列表順序
random.shuffle(L)
集合
不可變對(duì)象的無(wú)序集合
-
創(chuàng)建集合
# 將一個(gè)序列或者可迭代對(duì)象傳入set函數(shù)
x = set("abcd")
y = set([1, 2, 3, 3])
k = {1, 2, 3}
m = {} # 這不是一個(gè)空集合,而是與一個(gè)空字典
z = set() # 創(chuàng)建空集合
-
集合運(yùn)算
# | & ^ < 只能表示集合運(yùn)算時(shí),兩個(gè)操作數(shù)必須都是集合
x = {1, 2, 3, 4}
y = {1, 2}
z = {3, 4, 5}
x - y == {3, 4}
x - z == {1, 2}
x | z == {1, 2, 3, 4, 5} #或
x & y == {1, 2} #與
x ^ z == {1, 2, 5} # 異或
y < x == True # 子集
# 對(duì)原集合修改
x.add(90) # 為集合x(chóng)增加一個(gè)元素
x.remove(90) # 把集合x(chóng)中的90刪除
x.update(z) # 等價(jià) x = x | y
# 以下方法,參數(shù)y不必是一個(gè)集合,但必須是一個(gè)可以通過(guò)set()函數(shù)變成集合的可迭代對(duì)象
# y可以是列表,元組,字符串 等可迭代對(duì)象
x.union(y) # 并
x.intersection(y) # 交
x.issubset(y) # 是否時(shí)子集
-
不可變性
集合只能包含不可變的對(duì)象類型。因此列表,字典,集合不能放入集合中。元組是不可變的,可以放入集合。如果需要在一個(gè)集合中存儲(chǔ)一個(gè)集合,可以調(diào)用內(nèi)置函數(shù)frozenset()。功能類似set()函數(shù)。
-
借助集合可以進(jìn)行順序無(wú)關(guān)的等價(jià)性測(cè)試
|