• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Welcome to 陳俊峰's ---BeetleHeaded Man Blog !

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              58 隨筆 :: 32 文章 :: 18 評論 :: 0 Trackbacks
            Python Reading Notes (2006-4-13) ?

            Note One:about list (wow! so powerful)

            Assignment to slices is also possible, and this can even change the size of the list,but you can not do that in the string type:
            >>> # Replace some items:
            ... a[0:2] = [1, 12]
            >>> a
            [1, 12, 123, 1234]
            >>> # Remove some:
            ... a[0:2] = []
            >>> a
            [123, 1234]
            >>> # Insert some:
            ... a[1:1] = ['bletch', 'xyzzy']
            >>> a
            [123, 'bletch', 'xyzzy', 1234]
            >>> a[:0] = a???? # Insert (a copy of) itself at the beginning
            >>> a
            [123, 'bletch', 'xyzzy', 1234, 123, 'bletch', 'xyzzy', 1234]

            It is possible to nest lists (create lists containing other lists), for example:
            >>> q = [2, 3]
            >>> p = [1, q, 4]
            >>> len(p)
            3
            >>> p[1]
            [2, 3]
            >>> p[1][0]
            2
            >>> p[1].append('xtra')????
            >>> p
            [1, [2, 3, 'xtra'], 4]
            >>> q
            [2, 3, 'xtra']


            Note Two : about for statement

            It is not safe to modify the sequence being iterated over in the loop (this can only happen for mutable sequence types, such as lists). If you need to modify the list you are iterating over (for example, to duplicate selected items) you must iterate over a copy. The slice notation makes this particularly convenient:

            valid statements: it will work normally
            >>> for x in a[:]: # make a slice copy of the entire list
            ...?????? if len(x) > 6:?
            ...???????????a.insert(0, x)
            ...
            >>> a
            ['defenestrate', 'cat', 'window', 'defenestrate']

            invalid statement: you prompt will die
            >>> for x in a :? # make a slice copy of the entire list
            ...??? ???if len(x) > 6:
            ...????????? a.insert(0, x)
            ...

            Note that: in the first statement?the first row ,the?for statement?ues 'a[:] ' ,it means that?to make a slice of?it;but in the second statement,the for statement ues 'a' directly ,so cause a?bad?result?

            Note Three: Compare for efficiency

            str_test = []
            #?method one :
            str_test.append('attach')
            #method two:
            str_test = str_test?+ ['attach']

            The?Two?method above has the?same function ,but the more efficient one is the first one
            ?
            Note Four :about Defining Functions?
            Form 1:Default Argument Values
            The default value is evaluated only once.
            def f(a, L=[]):
            ??? L.append(a)
            ??? return L

            print f(1)
            print f(2)
            print f(3)

            This will print

            [1]
            [1, 2]
            [1, 2, 3]
            

            If you don't want the default to be shared between subsequent calls, you can write the function like this instead:

            def f(a, L=None):
                if L is None:
                    L = []
                L.append(a)
                return L

            Form 2 : Keyword Arguments

            When a final formal parameter of the form **name is present, it receives a dictionary containing all keyword arguments except
            for those corresponding to a formal parameter. This may be combined with a formal parameter of the form *name (described in
            the next subsection) which receives a tuple containing the positional arguments beyond the formal parameter list. (*name must
            occur before **name) For example, if we define a function like this:

            def cheeseshop(kind, *arguments, **keywords):
                print "-- Do you have any", kind, '?'
                print "-- I'm sorry, we're all out of", kind
                for arg in arguments: print arg
                print '-'*40
            keys = keywords.keys() keys.sort() for kw in keys: print kw, ':', keywords[kw]

            It could be called like this:

            cheeseshop('Limburger', "It's very runny, sir.",
                       "It's really very, VERY runny, sir.",
                       client='John Cleese',
                       shopkeeper='Michael Palin',
                       sketch='Cheese Shop Sketch')

            and of course it would print:

            -- Do you have any Limburger ?
            -- I'm sorry, we're all out of Limburger
            It's very runny, sir.
            It's really very, VERY runny, sir.
            ----------------------------------------
            client : John Cleese
            shopkeeper : Michael Palin
            sketch : Cheese Shop Sketch

            Note that the sort() method of the list of keyword argument names is called before printing the contents of the keywords
            dictionary; if this is not done, the order in which the arguments are printed is undefined.

            posted on 2006-04-13 10:50 Jeff-Chen 閱讀(156) 評論(0)  編輯 收藏 引用 所屬分類: Python
            色婷婷综合久久久中文字幕| 2021久久精品国产99国产精品| 久久WWW免费人成—看片| 热久久这里只有精品| 久久久久久av无码免费看大片| 久久精品卫校国产小美女| 久久精品国产亚洲AV麻豆网站| 成人精品一区二区久久| 久久久久亚洲AV无码专区桃色| 亚洲AV乱码久久精品蜜桃| 99久久精品九九亚洲精品| 亚洲中文久久精品无码ww16| 国产午夜精品理论片久久| 久久精品亚洲精品国产色婷 | 国产成人精品白浆久久69| 精品国产91久久久久久久a| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 欧美牲交A欧牲交aⅴ久久| 久久亚洲国产成人影院网站 | 日韩AV无码久久一区二区| 精品无码久久久久久国产| 久久成人国产精品| 熟妇人妻久久中文字幕| 99精品国产免费久久久久久下载| 国内精品久久久久久不卡影院| 久久精品亚洲精品国产色婷| 日韩人妻无码精品久久久不卡| 性高湖久久久久久久久AAAAA| 94久久国产乱子伦精品免费| 精品综合久久久久久97超人 | 少妇无套内谢久久久久| 久久婷婷五月综合97色直播| 精品多毛少妇人妻AV免费久久| 国产成人精品久久亚洲| 亚洲天堂久久精品| 国产精品亚洲美女久久久| 久久精品国产99国产精品| 久久午夜福利电影| 国产99久久久国产精品小说| 亚洲AV无码1区2区久久| 久久久久亚洲AV无码网站|