6.00 Introduction to Computer Science and Programming lec5: Objects in Python
生活随笔
收集整理的這篇文章主要介紹了
6.00 Introduction to Computer Science and Programming lec5: Objects in Python
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Lec5 主要介紹了Python中的集合類:數組、列表和詞典。
首先用下面的例子介紹數組:
Test = (1, 2, 3, 4, 5) print Test[0] print Test[1] x = 100 divisors = () for i in range(1,x):if x%i == 0: divisors = divisors+(i,) print divisorsPython中的數組是immutable的,也就是說是不可改的。這一點和Java、C++都不同,例如在上面的代碼中若執行Test[0] = 0,則Python會報錯。
在上面的代碼中,divisors + (i,)也許有些難懂。在這里,+是連接符,兩端的操作數都是數組。(i, )是包含一個元素 i 的數組,而(i)并不是一個數組。
繼續用代碼來介紹鏈表:
Techs = ['MIT', 'Cal Tech'] Ivys = ['Harward', 'Yale', 'Brown'] Univs = [] Univs.append(Techs) print 'Univs =', UnivsUnivs.append(Ivys) print 'Univs =', Univs for e in Univs:print 'e =', eflat = Techs + Ivys print 'flat =', flatartSchools = ['RISD', 'Harward'] for u2 in artSchools:if u2 in flat:flat.remove(u2)print 'flat =', flatflat.sort() print 'flat =', flatflat[1] = 'UMass' print 'flat =', flat從上面可以看出,List是一個典型的類,有append, remove, sort等方法。而數組則更像Java中的int等primitive類型,只能被操作符操作。下面通過代碼介紹Dictionary:
EtoF = {'bread': 'du pain', 'wine': 'du vin',\'eats': 'mange', 'drinks': 'bois',\'likes': 'aime', 1: 'un',\'6.00':'6.00'} print EtoF print EtoF.keys() print EtoF.keys del EtoF[1] print EtoFD = {1: 'one', 'deux': 'two', 'pi':3.14159} D1 = D print D1 for k in D1.keys(): print k, '=', D1[k]def translateWord(word, dictionary):if word in dictionary:return dictionary[word]else:return worddef translate(sentence):translation = ''word = ''for c in sentence:if c != ' ':word = word + celse:translation = translation + ' '\+ translateWord(word, EtoF)word = ''return translation[1:] + ' ' + translateWord(word, EtoF)print translate('John eats bread') print translate('Steve drinks wine') print translate('John likes 6.00')def keySearch(L, k):for elem in L:if elem[0] == k: return elem[1]return NoneClone方法:
學習過Java的同學應該對這個方法很熟悉,mutable的類需要使用Clone方法才能在內存中獲得一個新的對象。
轉載于:https://www.cnblogs.com/jubincn/archive/2013/02/04/3381133.html
總結
以上是生活随笔為你收集整理的6.00 Introduction to Computer Science and Programming lec5: Objects in Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高级SQL优化(三) 常用优化工具 ——
- 下一篇: C# DataGrid 控件在winfo