數值運算
Python在數值上一個很大的優勢就是,整數基本上是沒有限制位數
Python最神奇的一點就是,它有複數的數值類形,例如1 + 2j、123.5 + 456.7j、0.5J這些都是複數,就我個人而言我是用不到複數,但是數學領域,或是電子學的計算,例如傅利葉轉換就會用到複數。
【**】
2的5次方,一般打字是打2^5,而在Python裡要寫2 ** 5
【//】
捨去小數的除法運算,也就是就算照上面的規則,兩個浮點數相除,它還是會幫你捨去小數,例如10.0 // 3.0結果會是3.0
串列(List)物件
語法:
[物件1, 物件2, 物件3, .....]
可改變的序列物件的操作
設定我們的List
s = [1, 2, 3]
# 在最後面加入4
s.append(4)
# 在最後面加入5, 6
s.extend([5, 6])
# 印出內容
print (s)
# 取代[4, 5]該段切片成為[3, 2, 7, 6, 8]
s[3:5] = [3, 2, 7, 6, 8]
# 印出內容
print (s)
# 負值索引規則在此也一樣
# 刪除最後一個
del s[-1]
# 印出內容
print (s)
# 將順序倒過來
s.reverse()
# 印出內容
print (s)
# 進行排序
s.sort()
# 印出內容
print (s)
在Python裡沒有所謂的字元,只有長度為1的字串
什麼是字典(Dictionary)
在Python中,什麼是字典? 它是Python的映射物件(Mapping),只有"不可改變"物件可以當鍵值
d[鍵] = 值
>>> frindMap = {'john':'my classsmate','tom':'who?','alsnow':'me'}
>>> print (frindMap['john'])
my classsmate
>>> print (frindMap)
{'alsnow': 'me', 'john': 'my classsmate', 'tom': 'who?'}
len(a) | 回傳a的元素個數 |
a[k] | 取得鍵k的對應值 |
a[k] = v | 設定鍵k的對應值 |
del a[k] | 從映設物件中刪除鍵k的元素 |
a.clear() | 刪除所有元素 |
a.copy() | 複製一份映射物件(shallow copy) |
k in a |
k鍵值是否存在於a |
k not in a | k鍵值是否不存在於a |
a.has_key(k) | 效果和k in a一樣,鍵值是否存在於a |
a.items() | 傳以(鍵, 對應值)為元素的List |
a.keys() | 回傳以鍵為元素的串列 |
a.update([b]) | 以b此映射物件更新a映射物件,也就是同鍵值會被覆蓋,新鍵值會被建立 |
a.fromkeys(seq[, value]) | 建立一個新的字典以seq此序列的元素為鍵,而對應值全設為value |
a.values() | 回傳以資料值為元素的串列 |
a.get(k[, x]) | 取得鍵k的對應值,如果不存在則回傳x |
a.setdefault(k[, x]) |
如果鍵k存在,則回傳k的對應值,否則不存在的話設定a[k] = x,且回傳x |
a.pop(k[, x]) | 刪除鍵為k的元素並回傳,如果不存在則回傳x |
a.popitem() | 以(鍵值, 對應值)回傳任意一個元素 |
a.iteritems() | 回傳一個(鍵值, 對應值)的iterator |
a.iterkeys() | 回傳一個指的iterator |
a.itervalues() | 回傳一個對應值的iterator |