02列表

[TOC]
列表由一系列按特定順序排列的元素組成.你可以創建包含字母表中所有字母,數字0~9或者所有家庭成員姓名的列表;也可以將任何東西加入列表中,其中的元素可以沒有任何關系.
*在Python中,用方括號([])來表示列表,并用逗號分隔其中的元素.

訪問列表元素

列表是有序集合,因此要訪問列表中的任何元素,只需將該元素的位置或者索引告訴Python即可.要訪問列表元素,可指出列表的名稱,在指出元素的索引,并將其放在方括號內

    >>> bicycles = ['trek','cannondale','redline','specialized']
    >>> print(bicycles[0].title())
    Trek

索引

在Python中,第一個列表元素的索引是0,而不是1.
Python中為訪問最后一個列表元素提供了一種特殊語法.通過將索引指定為-1,可讓Python返回最后一個列表元素(-2,返回倒數第二個,以此類推):

    >>> bicycles = ['trek','cannondale','redline','specialized']
    >>> print(bicycles[-1].title())
    Specialized

修改、添加和刪除元素

修改列表元素

利用索引值將要修改的賦值

添加元素

1.末尾添加(append()方法)

    >>> bicycles
    ['trek', 'cannondale', 'redline', 'specialized']
    >>> bicycles.append('suzuki')
    >>> bicycles
    ['trek', 'cannondale', 'redline', 'specialized', 'suzuki']

插入元素(insert())

使用方法insert()可在列表的任何位置添加新元素.為此,你需要指定新的索引和值.

    motorcycles = ['honda','yamaba','suzuki']
    motorcycles.insert(0,'ducati')
    print(motorcycles)

輸出結果:

    ['ducati',honda','yamaba','suzuki']

刪除元素

1.使用del語句:知道要刪除的元素在列表中的位置,即索引值

    motorcycles = ['honda','yamaba','suzuki']
    del motorcycles[0]
    print(motorcycles)

輸出結果:

    [yamaba','suzuki']

2.使用pop():刪除列表末尾的元素
方法pop()可刪除列表末尾的元素,并能夠接著使用它.實際上,在括號中指定要刪除的元素可加上索引.

    motorcycles = ['honda','yamaba','suzuki']
    popped_motorcycles = motorcycles.pop()
    print(motorcycles)
    print(popped_motorcycles)

輸出結果:

    ['honda', 'yamaha']
    suzuki

3.根據值刪除元素:不知道索引,知道要刪除元素的值,使用remove()

組織列表(排序)

1.使用sort()對列表進行永久性排序
可以向方法傳遞參數reverse=True.列表將按字母順序相反的順序排列

    cars = ['bmw','audi','toyota','subaru']
    cars.sort(reverse=True)
    print(cars)

2.使用函數sorted()對列表進行臨時排序
調用函數sorted()后,列表元素排列順序并沒有真正改變.

    cars = ['bmw','audi','toyota','subaru']
    print(sorted(cars))

3.倒著打印列表(方法打點調用,函數傳參使用)
反轉列表元素的排列順序,可使用方法reverse().
4.確定列表長度
使用函數len()可獲悉列表長度.

避免索引錯誤

操作列表

1.用for循環來遍歷列表

    cars = ['bmw','audi','toyota','subaru']
    for love_car in cars:
        print(love_car)

2.避免縮進錯誤
Python通過使用縮進讓代碼更易讀,根據縮進來判斷代碼行與前一個代碼行的關系.

創建數值列表

1.使用函數range()

    for value in range(1,5):
        print(value)

*函數range()讓Python從你指定的第一個值開始數,并在你指定的第二個值后停止,因此輸出并不包括第二個值.<左閉右開>
2.使用函數rnage()創建數字列表

    numbers = list(range(1,5))
    print(numbers)

使用range()還可以指定步長.

    numbers = list(range(1,10,2))
    print(numbers)

3.對數字列表進行簡單的統計計算
有幾個專門用于處理數字列表的Python函數.最大值,最小值和總和

    min(list_name)
    max(list_name)
    sum(list_name)

4.列表解析
列表解析將for循環和創建新元素的代碼合并成一行,并自動添加新元素.

    squares = [value**2 for value in range(1,11)]
    print(squares)

輸出:

    [1,4,9,16,25,36,49,64,81,100]

當你覺得編寫三四行代碼繁復時,就應考慮列表解析.
5.切片(左開右閉)
list_names[value_start,value_end]
value_ start和value_end可以為空,即切片列表首尾
6.for循環遍歷切片
7.復制列表
利用切片:value_start和value_end都為空

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容