zoukankan      html  css  js  c++  java
  • 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 divisors 

    Python中的数组是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 =', Univs
    
    Univs.append(Ivys)
    print 'Univs =', Univs
    for e in Univs:
        print 'e =', e
    
    flat = Techs + Ivys
    print 'flat =', flat
    
    artSchools = ['RISD', 'Harward']
    for u2 in artSchools:
        if u2 in flat:
            flat.remove(u2)
    
    print 'flat =', flat
    
    flat.sort()
    print 'flat =', flat
    
    flat[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 EtoF
    
    D = {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 word
    
    def translate(sentence):
        translation = ''
        word = ''
        for c in sentence:
            if c != ' ':
                word = word + c
            else:
                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 None
    

    Clone方法:

    学习过Java的同学应该对这个方法很熟悉,mutable的类需要使用Clone方法才能在内存中获得一个新的对象。



  • 相关阅读:
    WebApi之DOM的基本介绍
    Javascript常见数据类型API
    JavaScript作用域与对象
    Javascript数组与函数初识
    久等了,你要的 Python 书籍推荐,来了
    六种酷炫Python运行进度条
    python获取系统内存占用信息的实例方法
    在图像中隐藏数据:用 Python 来实现图像隐写术
    付费?是不可能的!20行Python代码实现一款永久免费PDF编辑工具
    Python数据分析实战:使用pyecharts进行数据可视化
  • 原文地址:https://www.cnblogs.com/jubincn/p/3381133.html
Copyright © 2011-2022 走看看