py 元組tuple, 列表list 與詞典dict
1.元組
元組, builtins.tuple. 小括號.
在初始化後, 內容不能被更新.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # 輸出完整元組
print tuple[0] # 輸出元組的第一個元素
print tuple[1:3] # 輸出第二個至第三個的元素
print tuple[2:] # 輸出從第三個開始至列表末尾的所有元素
print tinytuple * 2 # 輸出元組兩次
print tuple + tinytuple # 列印組合的元組
2.列表
builtins.list, 是一個類.
列表, list, 中括號.
是 Python 中使用最頻繁的資料型別。
可以盛放若干個不同型別的元素.
list[:]
list的所有元素
list[-i]
list的倒數第i個元素, -1就是正數的最後一個.
list.append(list2)
將list2作為一個元素追加進去
list.extend(list2)
將list2的每個元素都作為一個元素挨個追加進去
- list#pop(self, index=None)
remove and return item at index (default last).
#!/usr/bin/python
# -*- coding: UTF-8 -*-
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 輸出完整列表
print list[0] # 輸出列表的第一個元素
print list[1:3] # 輸出第二個至第三個的元素
print list[2:] # 輸出從第三個開始至列表末尾的所有元素
print tinylist * 2 # 輸出列表兩次
print list + tinylist # 列印組合的列表
2.0 list遍歷
如果元素型別是tuple或list, 可以直接 通過 for(x,y)
這樣的形式直接取到基本元素的子元素.
x=[(1,2,3),(2,3,4),(3,4,5)]
for t1,t2,t3 in x:
print(t1,t2,t3)
for (t1,t2,t3) in x:
print(t1,t2,t3)
2.1 range
用於生成一個list.
range(a)
生成[0,a)的元素
range(a,b)
生成[a,b)的元素
range(a,b,c)
生成[a,b)的元素, 間隔是c
在py3.5中, 生成的型別是range
.
2.2 二維陣列
def create2dArr(rowNum,columnNum):
arr = [[0]*columnNum for i in range(rowNum)]
return arr
3.字典
字典, dictionary, 大括號.
你會發現, 它跟json 很像.
key in dict
判斷詞典中是否有這個key.
dict[key]
, key不存在會報錯.
dict.get(key)
key不存在返回None.
dict.get(key,defaultValue)
key不存在返回defaultValue.
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one'] # 輸出鍵為'one' 的值
print dict[2] # 輸出鍵為 2 的值
print tinydict # 輸出完整的字典
print tinydict.keys() # 輸出所有鍵
print tinydict.values() # 輸出所有值
3.1 dict的遍歷
固有順序遍歷:
for k,v in my_dict.items():
print(k,v)
按照value排序得到list:
dic = {'a':1 , 'b':5 , 'c': 3,'d':2}
x=sorted(dic.items(),key=lambda x:x[1],reverse=True)
print(x)
"""
[('b', 5), ('c', 3), ('d', 2), ('a', 1)]
"""
3.2 dict的隨機抽取
list(dict.keys())
或 list(dict.values())
將key或value的所有取值變成了一個列表.
然後通過 np.random.choice()
隨機抽取.
4. 篩選與對映
想要對已有集合進行篩選與對映, 得到新集合. 除了新申請一個list, 用for迴圈遍歷處理外, 還可以
一邊用謂詞篩選, 一邊用函式加工,一句話搞定.
text_word_arr = ['',',','ab','the']
text_valid_word_arr = list( '['+word+']' for word in text_word_arr if len(word) > 1)
print(text_valid_word_arr)
"""
['[ab]', '[the]']
"""