運算符
位移: 2<<3 將十進制轉成二進制並向左移動3位(增大)
2 >>3 將十進制轉成二進制並向右移動3位(減小)
比較: <、>、<=、>=、!=
按位或: | 兩個二進制相同位置都爲0則得0,其他情況都爲1
按位與: & 兩個二進制相同位置都爲1則得1,其他情況都爲0
按位異或: ^ 兩個二進制相同位置不相等時爲1,相等爲0
運算符優先級: 單目>雙目>比較>邏輯
Python數據類型
列表:
L.append(object)、L.extend(object)、L.pop(index)、L.insert(index,object)、L.remove(object)、L.count(object)、L.index(index)、L.sort順序、L.reverse倒序
ps.index 和 remove要做判斷或者錯誤捕捉
列表切片(li2=li 與 li2=li[:] 不一樣,前者若修改列表則兩個列表都被修改):
list[:] 整個列表切片
list[2:5] index=2,3,4的元素
list[::-1]=L.reverse
list[::2] index爲奇數的元素
list[1::2] index爲偶數的元素
元組:
元組不可更改元素
t = (2,) 若只有一個元素必須加逗號
元組切片(t2=t 與 t2=t[:] 一樣,一個修改兩個都修改)
集合:
集合的元素是唯一的、無序的,元素可以是元組,但不能是列表
s.difference = s - s1 差集
s.intersection = s & s1 交集
s | s1 並集
s.add() 添加元素
s.update([200,100]) 並不是將列表加到集合,而是將列表裏的元素加到集合
s.discard 和 s. remove一樣,但元素不存在時discard不會報錯
字典:
d = {'key':'value'}
d.keys() 以列表方式返回字典中的鍵
d.values() 以列表方式返回字典中的值
d.items() 以列表方式返回字典中的鍵值對
d.iterkeys() 以迭代器對象返回鍵
d.itervalues() 以迭代器對象返回值
d.iteritems() 以迭代器對象返回鍵值對
d.get(key,value) 若key存在返回真實value,不存在則返回value
d.has_key(key) 若key存在返回true,不存在則返回false
d[key] = 'value' 若key存在將更改原來的value,不存在則新增key:value
d.copy() 可d1 = d.copy(),將d的key:value拷貝到d1
將目錄內容解析成迭代器:
for k,v in d.items():
print k,v
迭代器:
迭代器>列表解析>for循環
for循環可以跟列表是因爲它自動將列表轉化爲迭代器:
li = [1,2,3,4]
it = iter(li)
列表解析:
li = [1,2,3,4]
li2 = [i+1 for i in li ] 等同於
j=0
for i in li:
li2[j] = i+1
j += 1
li2 = [i+1 for i in li if i%2 == 0] 等同於
for i in li:
if i%2 == 0:
li2.append(i+1) ###使用這種形式需要定義li2爲一個空列表
li2 = [i+1 for i in li if i%2 == 0 if i >3] = Li2 = [i+1 for i in if i%2 == 0 and i >3] 等同於
for i in li:
if i%2 == 0 and i>3:
li2.append(i+1) ###使用這種形式需要定義li2爲一個空列表
列表空li = [] 元組空 t = () 集合空 s = set() 字典空 d = dict()