官术网_书友最值得收藏!

3.1 列表的基本操作

列表(list)對(duì)象屬于序數(shù)對(duì)象,它是一群有序?qū)ο蟮募?,并且可以使用?shù)字來(lái)做索引。列表對(duì)象可以做新增、修改和刪除的操作。

3.1.1 列表對(duì)象的特性

列表由一系列按特定順序排列的元素組成。在Python中,用方括號(hào)[]來(lái)表示列表,用逗號(hào)來(lái)分割其中的元素。

例如:

        >>>s=["溪云初起日沉閣,", "山雨欲來(lái)風(fēng)滿(mǎn)樓。"]
        >>>print(s)
        [’溪云初起日沉閣,', ’山雨欲來(lái)風(fēng)滿(mǎn)樓。']

從結(jié)果可以看出,Python不僅輸出列表的內(nèi)容,還包括方括號(hào)。

列表的常見(jiàn)特性如下。

(1)列表對(duì)象中的元素,可以是不同的類(lèi)型。

例如:

        >>>s=[1, "Hello",2.1,2+3j]

(2)列表對(duì)象中的元素,可以是另一個(gè)列表。

例如:

        >>>s = [1, "Hello",2.1, ["A", "B", "C"]]

(3)列表對(duì)象中使用與字符串對(duì)象相同的運(yùn)算符。

例如:

        >>>s = [1, "Hello",2.1, ["A", "B", "C"]]
        >>>s[3]
        ['A', 'B', 'C']

(4)要讀取列表對(duì)象中的另一個(gè)列表,使用另一個(gè)中括號(hào)[]來(lái)做索引。

例如:

        >>> s = [1, "Hello",2.1, ["A", "B", "C"]]
        >>>s[3][1]
        'B'

(5)可以使用列表對(duì)象的index(c)方法(c是元素的內(nèi)容)來(lái)返回該元素的索引值。

例如:

        >>>s = [1, "Hello",2.1, ["A", "B", "C"]]
        >>> s.index("Hello")
        1
        >>> s.index(1)
        0

(6)可以修改列表對(duì)象的元素。

例如:

        >>> s = [1, "Hello",2.1, ["A", "B", "C"]]
        >>> s[1] = "Welcome"
        >>> s
        [1, 'Welcome', 2.1, ['A', 'B', 'C']]

(7)可以在列表對(duì)象中插入新元素。

例如:

        >>> s = [1, "Hello",2.1, ["A", "B", "C"]]
        >>> s[4:] = [123, "ok"]   #4:表示從左側(cè)數(shù)第5個(gè)位置開(kāi)始添加新元素
        >>> s
        [1, 'Hello', 2.1, ['A', 'B', 'C'], 123, 'ok']

(8)也可以使用列表對(duì)象的insert()方法來(lái)插入新元素。

例如:

        >>> s = [1, "Hello",2.1, ["A", "B", "C"]]
        >>> s.insert(1, "A")
        >>> s
        [1, 'A', 'Hello', 2.1, ['A', 'B', 'C']]

(9)可以使用del語(yǔ)句來(lái)刪除列表對(duì)象中的元素。

例如:

        >>> s = [1, "Hello",2.1, ["A", "B", "C"]]
        >>> del s[1]
        >>> s
        [1,2.1, ['A', 'B', 'C']]
        >>> del s[-1]  #-1表示從右側(cè)數(shù)第一個(gè)元素
        >>> s
        [1,2.1]

(10)讀者可以像使用其他變量一樣使用列表中的各個(gè)值。

例如:

        >>>s=["藍(lán)色", "綠色", "紅色", "黃色", "紫色"]
        >>>ss="我最喜歡的顏色是"+s[0].title()
        >>> print(ss)
        我最喜歡的顏色是藍(lán)色

3.1.2 列表包容

從Python 2.0開(kāi)始,可以使用列表包容(list comprehension)的功能。所謂列表包容,是使用列表內(nèi)的元素來(lái)創(chuàng)建新的列表。其語(yǔ)法如下:

        [ expression for expression1 in sequence1
                [for expression2 in sequence2]
                [...for expressionN in sequenceN]
                [if condition] ]

sequence代表序數(shù)對(duì)象,如字符串、元組、列表等。列表包容后,新列表的元素?cái)?shù)目是所有序數(shù)對(duì)象的元素?cái)?shù)目相乘的結(jié)果。

下列案例將letters字符串對(duì)象與lst列表對(duì)象做列表包容,從而創(chuàng)建一個(gè)新的列表對(duì)象。

        >>> letters = "py"
        >>> lst = [1,2,3,4]
        >>> [ (x, y) for x in letters for y in lst]
        [('p', 1), ('p', 2), ('p', 3), ('p', 4), ('y', 1), ('y', 2), ('y', 3), ('y',4)]

在本案例中,letters字符串對(duì)象有2個(gè)元素,lst列表對(duì)象有4個(gè)元素,列表包容產(chǎn)生的新列表有8個(gè)元素。

3.1.3 列表的操作符

列表的常用操作符包括+和*。其中列表對(duì)+和*的應(yīng)用與字符串相似,+號(hào)用于組合列表,*號(hào)用于重復(fù)列表。

+號(hào)運(yùn)算的示例如下:

        >>>[1,2,3]+ [4,5,6]
        [1, 2, 3, 4, 5, 6]

*號(hào)運(yùn)算的示例如下:

        >>>[1,2,3]* 3
        [1, 2, 3, 1, 2, 3, 1, 2, 3]

3.1.4 列表的函數(shù)和方法

列表對(duì)象有許多內(nèi)置函數(shù)和方法,下面學(xué)習(xí)這些函數(shù)和方法的使用技巧。

1.列表的函數(shù)

列表內(nèi)置的函數(shù)包括len()、max()、min()和list()。

(1)len()函數(shù)返回列表的長(zhǎng)度。例如:

        >>>list1 =[1, 2, 3]
        >>>print (len(list1))
        3

(2)max()函數(shù)返回列表元素中的最大值。例如:

        >>> list1=[1, 2, 3, 4]
        >>> print (max(list1))
        4
        >>> list2=['a', 'c', 'd', 'p']
        >>> print (max(list2))
        p

注意

只有當(dāng)列表中的元素?cái)?shù)據(jù)類(lèi)型一致時(shí),才能使用max()函數(shù),否則會(huì)出錯(cuò)。

例如:

                    >>> list1=[1, 2, 3, 4, 'a']
                    >>> print (max(list1))
                    Traceback (most recent call last):
                      File "<pyshell#48>", line 1, in <module>
                        print (max(list1))
                    TypeError: unorderable types: str() > int()

(3)min()函數(shù)返回列表元素中的最小值。例如:

        >>> list1=[1, 2, 3, 4]
        >>> print (min(list1))
        1
        >>> list2=['a', 'c', 'd', 'p']
        >>> print (min(list2))
        a

(4)list()函數(shù)用于將元組轉(zhuǎn)換為列表。元組與列表非常類(lèi)似,區(qū)別在于元組的元素值不能修改。元組是放在括號(hào)中,列表是放于方括號(hào)中。例如:

        >>>books = (59, ’清華大學(xué)出版社’, 'Python', ’教材’)
        >>>list1 = list(books)
        >>>print ("圖書(shū)信息為: ", list1)
        圖書(shū)信息為: [59, ’清華大學(xué)出版社’, 'Python', ’教材’]

2.列表的方法

在Python解釋器內(nèi)輸入dir([]),就可以顯示這些內(nèi)置方法。

        >>> dir([])
        ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
        '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
        '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__',
        '__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']

下面將挑選最常用的方法進(jìn)行介紹。

1)append(object)

append()方法在列表對(duì)象的結(jié)尾,加上新對(duì)象object。例如:

        >>>lst = [1,2,3]
        >>>lst.append(5)
        >>> lst
        [1, 2, 3, 5]
        >>> lst.append([4,5,6])
        >>> lst
        [1, 2, 3, 5, [4, 5, 6]]

2)clear()

該函數(shù)用于清空列表,類(lèi)似于del a[:]。例如:

        >>>lst =[1,2,2,3,2,4]
        >>>lst.clear()   #清空列表
        >>>lst
        []

3)copy()

該函數(shù)用于復(fù)制列表。例如:

        >>>list1 = [’張小平’, ’王磊’, ’胡華’]
        >>>list2 = list1.copy()
        >>>print (list2)
        [’張小平’, ’王磊’, ’胡華’]

4)count(value)

count()方法針對(duì)列表對(duì)象中的元素值為value者,計(jì)算其數(shù)目。例如:

        >>> lst = [1, 2, 2, 3, 2, 4]
        >>> lst.count(2)
        3

5)extend(list)

extend()方法將參數(shù)list列表對(duì)象中的元素加到此列表中,成為此列表的新元素。例如:

        >>>lst = [1, 2, 3, 4]
        >>> lst.extend([5,6,7,8])
        >>> lst
        [1, 2, 3, 4, 5, 6, 7, 8]

6)index(value)

index()方法將列表對(duì)象中元素值為value者,返回其索引值。例如:

        >>> lst = [1, 2, 3, 4]
        >>> lst.index(2)
        1

7)insert(index, object)

insert()方法將在列表對(duì)象中索引值為index的元素之前插入新元素object。例如:

        >>> lst = [1, 2, 3, 4]
        >>> lst.insert(1, "Hello")
        >>> lst
        [1, 'Hello', 2, 3, 4]

8)pop([index])

pop()方法將列表對(duì)象中索引值為index的元素刪除。如果沒(méi)有指定index的值,就將最后一個(gè)元素刪除。例如:

        >>> lst = [1, 2, 3, 5, [4, 5, 6]]
        >>> lst.pop()
        [4, 5, 6]
        >>> lst
        [1, 2, 3, 5]
        >>> lst.pop(1)
        2
        >>> lst
        [1, 3, 5]

9)remove(value)

remove()方法將列表對(duì)象中的元素值為value者刪除。例如:

        >>> lst = [1, 2, 3, 4]
        >>> lst.remove(2)
        >>> lst
        [1, 3, 4]

10)reverse()

reverse()方法將列表對(duì)象中的元素顛倒排列。例如:

        >>> lst = [1, 2, 3, 4]
        >>> lst.reverse()
        >>> lst
        [4, 3, 2, 1]

11)sort()

sort()方法將列表對(duì)象中的元素,依照大小順序排列。例如:

        >>> lst = [1, 4, 3, 2]
        >>> lst.sort()
        >>> lst
        [1, 2, 3, 4]
主站蜘蛛池模板: 新河县| 南雄市| 永登县| 射洪县| 元朗区| 杭锦旗| 垣曲县| 金湖县| 中牟县| 全南县| 邹城市| 磐安县| 乐陵市| 瑞安市| 乌鲁木齐市| 郯城县| 高邮市| 巍山| 平和县| 秀山| 仪陇县| 清新县| 蛟河市| 麟游县| 瑞安市| 万州区| 张家界市| 大宁县| 雷山县| 吉林省| 定陶县| 达孜县| 昌黎县| 永登县| 肇源县| 永城市| 根河市| 碌曲县| 百色市| 闸北区| 房产|