zoukankan      html  css  js  c++  java
  • python_L6

    1. tuples:

      (3) -> 3 but (3,) indicates a tuple -> (3,)  

    2. tuples and lists:

      tuples:num = (1,2,3)  (3,)  不可修改  num(1) = 4  -> 'error'   can

      lists:num = [1,2,3]   [3]  可以修改   num[1] = 4 -> [1,4,3]   cannot be used as keys

      You can’t use lists as keys, since lists can be modified in place using index assignments, slice assignments, or methods like append() and extend().

    .## universities

    
    Techs = ['MIT', 'Cal Tech']
    Ivys = ['Harvard', 'Yale', 'Brown']
    
    Univs = [Techs, Ivys]
    Univs1 = [['MIT', 'Cal Tech'], ['Harvard', 'Yale', 'Brown']]
    
    Techs.append('RPI')
    
    print('Univs = ')
    print(Univs)
    print('')
    print('Univs1 =')
    print(Univs1)
    
    
    for e in Univs:
        print('Univs contains ')
        print(e)
        print('   which contains')
        for u in e:
            print('      ' + u)

     4.  list.append: side affect but '+' creates a new list

     5.  Avoid mutating a list over which one is iterating

    def removeDups(L1, L2):
        for e1 in L1:
            if e1 in L2:
                L1.remove(e1)
    
    
    L1 = [1,2,3,4]
    L2 = [1,2,5,6]
    removeDups(L1, L2)
    print(L1)
    
    """
    Inside for loop,	Python keeps track of where it is in list using internal	 counter	
    When we	mutate a list, we change its length but Python doesn’t update counter
    """	
    //Better is to clone
    def removeDupsBetter(L1, L2):
        L1Start = L1[:]     //Do not use L1Start = L1, not efficient
        for e1 in L1Start:
            if e1 in L2:
                L1.remove(e1)
    
    L1 = [1,2,3,4]
    L2 = [1,2,5,6]
    removeDupsBetter(L1, L2)
    print(L1)
    

    6. Difference

    alist =  range(1,6)
    blist = alist
    print alist
    print blist
    alist[2] = 'hello'
    print alist
    print blist
    //alist == blist for blist binds to alist
    
    clist = range(1,6)
    dlist = []
    for num in alist:
        clist.append(num)
    print clist
    print dlist
    clist[2] = 'hello'
    print clist
    print dlist
    // clist != dlist
    

    7. map(function, iterable, ...)

      Apply function to every item of iterable and return a list of the results. 

    8. error

    monthNumbers = {‘Jan’:1, ‘Feb’:2, ‘Mar’:3, 1:’Jan’, 2:’Feb’, 3:’Mar’}

    monthNumbers[‘Jan’] returns 1 but monthNumbers[1]  can't returns ‘Jan’ 'error'

  • 相关阅读:
    shell中$0,$?,$!等的特殊用法【转载】
    Hadoop操作hdfs的命令【转载】
    libevent的简单应用【转载】
    使用GDB生成coredump文件【转载】
    常用的js代码
    强大的promise
    循环的N种写法
    原型与继承与class
    模块化
    正则RegExp
  • 原文地址:https://www.cnblogs.com/njuzwr/p/4507478.html
Copyright © 2011-2022 走看看