(006)我們一起學Python;列表----超級結構體

雪山斐胡發表於2018-06-18

if else d的匹配在C和Python上是完全不同的,Python依靠對其匹配,而C是就近匹配。所以Python有更好的可讀性和程式碼更優美簡潔。

條件表示式(三元操作符)

根據判斷條件,來進行賦值操作


assert這個關鍵字 我們稱之為斷言。當這個關鍵字後邊的條件為假的時候,程式自動崩潰,並丟擲AssertionError異常。例如:

    >>> assert 3>9
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AssertionError

一般來說,我們可以用它在程式中置入檢查點,當需要確保程式中的某個條件一定為真,才能讓程式正常工作的話,assert關鍵字就非常有用了。 

②列表----超級結構體

我說列表是結構體,那麼列表肯定可以放不同的資料型別。這裡我們再來了解三個不同的函式來操作列表:

(1)append     新增到最後

    >>> a = ['通哥','是','世界上','MAX',666,6.6,'帥哥']
    >>> a.append('我同意')
    >>> a
    ['通哥', '是', '世界上', 'MAX', 666, 6.6, '帥哥', '我同意']

(2)extend        把列表新增到最後

    >>> a.extend('aaa')        #extend是以列表為單位擴充套件,加入字串會被分割開
    >>> a

    ['通哥', '是', '世界上', 'MAX', 666, 6.6, '帥哥', '我同意', 'a', 'a', 'a']


    >>> a.extend(['shuai','完美','perfect'])
    >>> a
    ['通哥', '是', '世界上', 'MAX', 666, 6.6, '帥哥', '我同意', 'a', 'a', 'a', 'shuai', '完美',     'perfect']

(3)insert           可以選擇新增位置

    >>> a.insert(0,'臥槽')
    >>> a
    ['臥槽', '通哥', '是', '世界上', 'MAX', 666, 6.6, '帥哥', '我同意', 'a', 'a', 'a', 'shuai',        '完美', 'perfect']

③刪除列表元素的方法:

    (1)remove()

    >>> a = ['通哥','是','帥哥','MAX','6.666']
    >>> a.remove('6.666')
    >>> a

    ['通哥', '是', '帥哥', 'MAX']

    刪除列表元素,不管元素處於什麼位置

    ['通哥', '是', '帥哥', 'MAX']
    >>> a.remove('是')
    >>> a
    ['通哥', '帥哥', 'MAX']

    (2)del        不是類方法

        >>> del a[2]
        >>> a
        ['通哥', '帥哥']

    (3)pop()

        >>> a = ['通哥','是','帥哥','MAX','6.666']
        >>> a.pop(3)
        'MAX'
        >>> a
        ['通哥', '是', '帥哥', '6.666']

④列表分片

    >>> a[1:3]
    ['是', '帥哥']
    >>> a[1:]
    ['是', '帥哥', '6.666']
    >>> member=a[:]
    >>> member
    ['通哥', '是', '帥哥', '6.666']

⑤列表與運算子

     >>> list1 = ['通哥','是','帥哥']
    >>> list2 = list1*3
    >>> list2
    ['通哥', '是', '帥哥', '通哥', '是', '帥哥', '通哥', '是', '帥哥']

⑥目錄

    >>> dir(list)
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__',     '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__',     '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__',     '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index',     'insert', 'pop', 'remove', 'reverse', 'sort']

    >>> list1 *= 3
    >>> list1.count('666')
    3

  #index索引的意思,找到查詢範圍內的第一個符合條件的字元的位置並返回地址  

    >>> list1.index('666',1,4)
    3

    >>> list2 = ['通哥', '是', '帥哥', '666']            #倒序排列

    >>> list2.reverse()

    >>> list2

    ['666', '帥哥', '是', '通哥']

    list.sort()預設正排序,sort(reverse=1)逆序

        >>> list4.sort()
        >>> list4
        [0, 8, 9, 12, 36, 56, 99]
        >>> list4.sort(reverse=1)
        >>> list4

        [99, 56, 36, 12, 9, 8, 0]

關於拷貝的區別:

list2 = list1        當list1的內容發生改變時,list2的內容也會隨之變化,list2的

                           本質就是標籤。

list3 = list1[:]       真正複製了一份 list1 的值







相關文章