python 處理array主要有以下三種方式 list ,dict , tuple ......................... LIST key只能為0,1,2,....,第一個元素的key為0 宣告 a=list() 宣告並直接給元素 a = [2, 'abc', 10] 顯示 print a[2] 顯示第3個元素,結果如下 10 選取一段範圍 print a[0:2] 取出 a[0], a[1] 而不包含 a[2] 結果如下 [2, ‘abc'] 附加 a.append(‘good') print a 結果如下 [2, 'abc', 10, ‘good'] 元素數量 print len(list) 結果如下 4 插入 a.insert(2,'cool') print a 結果如下 [2, 'abc','cool',10, ‘good'] 集合運算 list1=[0,1,2,3] list2=[2,3,4,5] print list(set(list1) & set(list2)) #交集, 輸出[2, 3] print list(set(list1) | set(list2)) #聯集, 輸出[0, 1, 2, 3, 4, 5] print list(set(list1) ^ set(list2)) #差集, 輸出[0, 1, 4, 5] 取唯一 list1=[0,0,1,1,2,2,3,3] print list(set(list1)) 結果如下 [0, 1, 2, 3] .... 應用 int轉float l1 = [1,2,3,4,5] l2 = [float(i) for i in l1] print l2 [1.0,2.0,3.0,4.0,5.0] 顯示sparse matrix 顯示以下5*6矩陣資料 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 6 0 0 0 0 9 0 0 0 0 0 0 0 12 0 def restore(sparse): row = sparse[0][0] column = sparse[0][1] array = [[0] * column for i in range(row)] k = 1 for i in range(row): for j in range(column): if k <= sparse[0][2] and i == sparse[k][0] and j == sparse[k][1]: array[i][j] = sparse[k][2] k += 1 else: array[i][j] = 0 return array sparse = [ [5, 6, 4], [1, 1, 3], [2, 3, 6], [3, 2, 9], [4, 4, 12] ] array = restore(sparse) print(array) 說明 使用的陣列第一列記錄:列數,行數,非0元素個數 因為這個矩陣是5X6矩陣,且非0元素有4個(3,6,9,12) 5 6 4 使用的陣列第二列,記錄位置:列索引,行索引,儲存值: 1 1 3 2 3 6 3 2 9 4 4 12 refer http://blog.eddie.com.tw/2011/10/13/python-list/ ... DICT key可以用任何字串表示 dictdata=dict() 宣告dictdata為dict結構 ex: dictdata=dict() dictdata['url1']=1 dictdata['url2']=2 print dictdata 結果如下 {'url1': 1, 'url2': 2} dictdata.get(key) 判斷dictdata[key]是否存在 ex: if dictdata.get('url1') != None print ‘url1 exist' 結果如下 url1 exist dictdata.keys() 結果如下 ['url1', 'url2'] ex: 判斷aaa的key是否在dictdata中 if ‘url1' in dictdata.keys(): print ‘url1 in dictdata' 結果如下 url1 in dictdata dictdata.values() 結果如下 [1, 2] dictdata.items() 結果如下 [('url1', 1), ('url2', 2)] ex: 列出dict資料中的key和value for key,value in dictdata.items(): print key, value 結果如下 url1 1 url2 2 排序 dictdata.iteritems() ex: dictdata = {'a':6, 'b':5, 'c':3, 'd':4, 'e':7, 'd':0} dicsorted= sorted(dictdata.iteritems(), key=lambda d:d[1], reverse = True) print dicsorted 結果為 [(‘e',7),(‘a',6),(‘b',5),(‘d',4),(‘d',0)] ps: reverse = True 表示由多到小排序 ex: for key in sorted(mydict.iterkeys()): print "%s: %s" % (key, mydict[key]) LEN 算長度 >>> mylist = [1,2,3] #list >>> len(mylist) 3 >>> word = 'hello' # string >>> len(word) 5 >>> vals = {'a':1,'b':2} #dictionary >>> len(vals) 2 >>> tup = (4,5,6) # tuple >>> len(tup) 3 |