小白學 Python(9):基礎數據結構(列表)(上)

人生苦短,我選Pythonpython

前文傳送門git

小白學 Python(1):開篇github

小白學 Python(2):基礎數據類型(上)數據結構

小白學 Python(3):基礎數據類型(下)函數

小白學 Python(4):變量基礎操做ui

小白學 Python(5):基礎運算符(上)spa

小白學 Python(6):基礎運算符(下)3d

小白學 Python(7):基礎流程控制(上)code

小白學 Python(8):基礎流程控制(下)cdn

前言

在開始今天的內容以前先簡單介紹一下 Python 內置的數據結構,包括:

  • 列表(list)
  • 元組(tuple)
  • 字典(dict)
  • 集合(set)

在Python語言中,以上4種數據結構和基礎數據類型(整數、浮點數等)統稱爲「內置類型」(Built-in Types)。

列表(list)

Python list(列表),是Python中最經常使用的一種數據結構,它是一組用方括號括起來、逗號分隔的數據。

建立列表:

list1 = [1, 2, 3, 4, 5]
print(list1)

list2 = ['a', 'b', 'c', 'd', 'e']
print(list2)複製代碼

輸出結果:

[1, 2, 3, 4, 5]
['a', 'b', 'c', 'd', 'e']複製代碼

列表中的數據類型能夠是相同的,如上面的 int 和 str ,也能夠是不一樣的:

list3 = [1, 2, 3, 'a', 'b']
print(list3)複製代碼

結果以下:

[1, 2, 3, 'a', 'b']複製代碼

這個還不算什麼,還有更騷的操做,列表裏面是能夠嵌套列表的:

list4 = [1, 2.33, 'a', list3]
print(list4)複製代碼

結果以下:

[1, 2.33, 'a', [1, 2, 3, 'a', 'b']]複製代碼

這一層一層的,又讓我想起了洋蔥。。。

空列表

list5 = []
print(list5)複製代碼

列表的一些基操

查看列表的類型

查看類型的函數是 type() ,那麼若是咱們看下列表的類型呢?

print(type(list4))複製代碼

結果以下:

<class 'list'>複製代碼

經過索引取出列表的元素

語法:列表名[索引]

list1 = [1, 2, 3, 4, 5]
print(list1[0])複製代碼

這裏的數字 0 是列表的索引,含義是取出第 0 位的元素。

注意: 這裏的索引是從 0 開始的,例如 list1 的索引是 0 ~ 4 。

若是咱們直接去取 list1 的索引爲 5 的值:

list1 = [1, 2, 3, 4, 5]
print(list1[5])複製代碼

這時會直接拋出異常。

Traceback (most recent call last):
  File "F:/project/python-learning/base-data-list/Demo.py", line 20, in <module>
    print(list1[5])
IndexError: list index out of range複製代碼

這個異常的含義是:列表索引超出範圍。

Python 列表除了正索引還有一個負索引,正索引是列表從頭至尾的方向,負索引的是從尾到頭。

列表:  ['a', 'b', 'c', 'd', 'e']
         |    |    |    |    |
正索引:  0    1    2    3    4
負索引:  -5  -4   -3   -2   -1複製代碼

使用加號鏈接列表

語法: 列表1 + 列表2

print(list1 + list2)複製代碼

結果以下:

[1, 2, 3, 4, 5, 'a', 'b', 'c', 'd', 'e']複製代碼

對列表元素進行 for 循環

語法:for 變量 in 列表:print(變量)

for i in list1:
    print(i)複製代碼

結果以下:

1
2
3
4
5複製代碼

獲取列表長度

語法: len(列表)

print(len(list1))

print(len(list1 + list2))複製代碼

結果以下:

5
10複製代碼

檢查列表中是否存在某個元素

返回的是布爾值 bool 。

print('a' in list1)
print(1 in list1)複製代碼

結果以下:

False
True複製代碼

刪除列表

語法: del 列表名

list1 = [1, 2, 3, 4, 5]

del list1
print(list1)複製代碼

結果以下:

Traceback (most recent call last):
  File "D:/Development/Projects/python-learning/base-data-list/Demo.py", line 40, in <module>
    print(list1)
NameError: name 'list1' is not defined複製代碼

很顯然,將 list1 刪除以後會報錯 list1 未定義。

刪除列表中索引爲 i 的元素

語法: del list1[i]

list1 = [1, 2, 3, 4, 5]

del list1[2]
print(list1)複製代碼

結果以下:

[1, 2, 4, 5]複製代碼

返回列表中最大的值

語法:max(list1)

print(list1)
print(max(list1))
print(list4)
print(max(list4))複製代碼

結果以下:

[1, 2, 4, 5]
5
[1, 2.33, 'a', [1, 2, 3, 'a', 'b']]
Traceback (most recent call last):
  File "D:/Development/Projects/python-learning/base-data-list/Demo.py", line 51, in <module>
    print(max(list4))
TypeError: '>' not supported between instances of 'str' and 'float'複製代碼

list4 中取最大值報錯了,報錯緣由是 'str' 和 'float' 沒法比較大小。

返回列表中最小的值

語法:min(list1)

print(list1)
print(min(list1))
print(list4)
print(min(list4))複製代碼

結果以下:

[1, 2, 4, 5]
1
[1, 2.33, 'a', [1, 2, 3, 'a', 'b']]
Traceback (most recent call last):
  File "D:/Development/Projects/python-learning/base-data-list/Demo.py", line 51, in <module>
    print(max(list4))
TypeError: '<' not supported between instances of 'str' and 'float'複製代碼

list4 中取最小值報錯了,報錯緣由和上面取最大是同樣的, 'str' 和 'float' 沒法比較大小。

示例代碼

本系列的全部代碼小編都會放在代碼管理倉庫 Github 和 Gitee 上,方便你們取用。

示例代碼-Github

示例代碼-Gitee

若是個人文章對您有幫助,請掃碼關注下做者的公衆號:獲取最新干貨推送:)
相關文章
相關標籤/搜索