Primitive Data Type of python

Dictionary # 並沒有順序的概念,事實上是hash table的一個實例
d = {“server”:”mpilgrim”, “database”:”master”, 3: 500}
# key and value, 可用key取值,卻不能用value取key
# 可用數字,字串跟tuple為key,但不能用list,因為list可以改變
調用: d["server"] # Key是大小寫敏感的
修改: d["server"] = “mac” # 可以隨時加入新的kv, 但如果使用同key,會蓋掉value
刪除: del d["database"]
清空: d.clear()
dictionary如何排序?
List # 有序元素,可以”重複”,類比Java的Arraylist
li = ["a", "b", "mpilgrim", "z", "example"]
調用: li[0], li[-1] # 最後一個元素等於li[len(li)-1]
切片: li[0:3] # 只有三個元素,並不含li[3],切出第一個想要跟第一個不想要
切片簡寫: li[:3], li[3:], li[:] # 拷貝一個新的list
加入元素: li.append(“apple”), li.append(2,”mac”) # 將mac加到li[2]的位置, 無傳回
連接串列: li.extend(li), li.extend([a,b]) # 無傳回值
# extend只接受一個參數list,將裡面的元素加入,但append會將整個list當成一個元素
搜尋: li.index(“mac”) # 傳回位置,如果沒找到會傳回異常
存在: “apple” in li # 傳回布林值,此例是False
刪除: li.remove(“mac”) # 刪除第一次出現的mac,如果有兩個mac,無此值會異常
pop: out = li.pop() # 會刪除li[-1]並回傳它,可以指定位置
運算: newl = li + li; new1 = li * 2 # 效果等於extend,但會傳回新字串,較extend慢

Tuple # 是不可變的 list。一旦創建了一個 tuple,就不能以任何方式改變它。
tupe用小括號,但沒有method,如remove, pop,append 也不能更改它
但是tuple速度比list快
如何tuple跟list互轉
類似enum的作法
(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)
布林值 # 注意是大寫
0, “”, [], (), {} 都是False
任意value, list, tuple, dictionary都是True
待續
Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.