Python 中的幾種常用數(shù)據(jù)類型
在 Python 程序中,程序需要處理不同類型的數(shù)據(jù),例如:
- 在數(shù)學運算中,需要對數(shù)值進行加減乘除等計算。
- 在文本處理中,需要對文本進行分割、連接等操作。
Python 可以處理 7 種類型的數(shù)據(jù):
- 數(shù)值
- 字符串
- 布爾值
- 列表
- 元組
- 字典
- 集合
本文簡略介紹 Python 中每種數(shù)據(jù)類型的定義和使用場景,使得學習者獲得對 Python 的數(shù)據(jù)類型的整體認識,在后續(xù)的小節(jié)中詳細介紹每種類型的具體使用細節(jié)。
1. 數(shù)值
數(shù)值類型的數(shù)據(jù)表示整數(shù)、浮點數(shù)、復數(shù),例如:
- 整數(shù) 123
- 浮點數(shù) 123.456
- 復數(shù) 1 + 2j
數(shù)值類型通常用于數(shù)值計算的場合,例如:
- 整數(shù)運算
>>> 1 + 1
2
- 浮點數(shù)運算
>>> 1.1 + 1.1
2.2
- 復數(shù)運算
>>> x = 1 + 2j
>>> y = 3 + 4j
>>> x + y
(4 + 6j)
2. 字符串
字符串類型的數(shù)據(jù)表示一段文本,使用單引號、雙引號創(chuàng)建,例如:
- 單引號字符串 ‘hello’
- 雙引號字符串 “hello”
字符串通常用于文本的連接,例如:
- 連接兩個字符串,形成一個新的字符串
>>> 'Hello' + 'World'
'HelloWorld'
- 連接三個字符串,形成一個新的字符串
>>> 'Hello' + ':' + 'World'
'Hello:World'
3. 布爾值
布爾值類型的數(shù)據(jù)表示邏輯運算結果,有兩種取值:
- 真,使用 True 關鍵字表示。
- 假,使用 False 關鍵字表示。
布爾值通常用于邏輯運算的場合,例如:
- 表示比較運算的結果
>>> 2 > 1
True
>>> 2 < 1
False
- 用于條件判斷
if 2 > 1:
print('2 > 1 is True')
else:
print('2 > 1 is False')
- 如果 2 > 1 的結果是 True,則執(zhí)行第 2 行的 print語句
- 如果 2 > 1 的結果是 False,則執(zhí)行第 4 行的 print語句
4. 列表
列表是一個有序的序列,列表中所有的元素放在 [] 中間,并用逗號分開,例如:
- [1, 2, 3],一個包含 3 個整數(shù)的列表
- [‘a(chǎn)’, ‘b’, ‘c’],一個包含 3 個字符串的列表
列表中的元素是順序排列的,可以通過索引訪問列表的元素,例如:
>>> list = [1, 2, 3]
>>> list[0]
1
>>> list[1]
2
>>> list[2]
3
- 在第 1 行,創(chuàng)建了一個列表。
- 在第 2 行,通過 list[0],訪問列表的第 0 個元素,列表的下標從 0 開始。
- 在第 4 行,通過 list[1],訪問列表的第 1 個元素。
- 在第 6 行,通過 list[2],訪問列表的第 2 個元素。
5. 元組
元組是一個有序的序列,元組中所有的元素放在 () 中間,并用逗號分開,例如:
- (1, 2, 3),一個包含 3 個整數(shù)的元組
- (‘a(chǎn)’, ‘b’, ‘c’),一個包含 3 個字符串的元組
元組中的元素是順序排列的,可以通過索引訪問元組的元素,例如:
>>> tuple = (1, 2, 3)
>>> tuple[0]
1
>>> tuple[1]
2
>>> tuple[2]
3
- 在第 1 行,創(chuàng)建了一個元組。
- 在第 2 行,通過 tuple[0],訪問元組的第 0 個元素,元組的下標從 0 開始。
- 在第 4 行,通過 tuple[1],訪問元組的第 1 個元素。
- 在第 6 行,通過 tuple[2],訪問元組的第 2 個元素。
元組與列表的區(qū)別在于:列表創(chuàng)建后可以修改,元組創(chuàng)建后不可以修改。
下面的程序首先創(chuàng)建列表 [1, 2, 3],然后修改的第 0 項元素,程序輸出表明修改成功了。
>>> list = [1, 2, 3]
>>> list[0] = 11
>>> list
[11, 2, 3]
下面的程序首先創(chuàng)建元組 (1, 2, 3),然后修改的第 0 項元素,程序輸出表明修改失敗了。在第 6 行打印輸出 tuple,發(fā)現(xiàn) tuple 沒有發(fā)送變化。
>>> tuple = (1, 2, 3)
>>> tuple[0] = 11
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> tuple
(1, 2, 3)
6. 字典
字典由鍵和對應值成對組成,字典中所有的鍵值對放在 {} 中間,每一對鍵值之間用逗號分開,例如:
-
{‘a(chǎn)’:‘A’, ‘b’: ‘B’, ‘c’:‘C’}
- 字典中包含3個鍵值對
- 鍵 ‘a(chǎn)’ 的值是 ‘A’
- 鍵 ‘b’ 的值是 ‘B’
- 鍵 ‘c’ 的值是 ‘C’
-
{1:100, 2: 200, 3:300}
- 字典中包含3個鍵值對
- 鍵 1 的值是 100
- 鍵 2 的值是 200
- 鍵 3 的值是 300
字典通常用于描述對象的各種屬性,例如一本書,有書名、作者名、出版社等各種屬性,可以使用字典描述如下:
>>> book = {'title': 'Python 入門基礎', 'author': '張三', 'press': '機械工業(yè)出版社'}
>>> book['title']
'Python 入門基礎'
>>> book['author']
'張三'
>>> book['press']
'機械工業(yè)出版社'
- 在第 1 行,創(chuàng)建了一個字典用于描述一本書
- 在第 2 行,使用字符串 ‘title’ 作為鍵(索引)訪問字典中對應的值
- 在第 4 行,使用字符串 ‘a(chǎn)uthor’ 作為鍵(索引)訪問字典中對應的值
- 在第 6 行,使用字符串 ‘press’ 作為鍵(索引)訪問字典中對應的值
7. 集合
集合是一個無序、不重復的序列,集合中所有的元素放在 {} 中間,并用逗號分開,例如:
- {1, 2, 3},一個包含 3 個整數(shù)的列表
- {‘a(chǎn)’, ‘b’, ‘c’},一個包含 3 個字符串的列表
集合提供的最基本的操作有:
- 使用 in 關鍵字檢查元素是否在集合中
>>> x = {'a', 'b', 'c'}
>>> 'b' in x
True
>>> 'd' in x
False
- 在第 1 行,創(chuàng)建了一個包含 3 個字符串的集合。
- 在第 2 行,檢測字符串 ‘b’ 是否在集合中;第 3 行顯示結果為 True。
- 在第 4 行,檢測字符串 ‘d’ 是否在集合中;第 5 行顯示結果為 False。
- 向集合中增加元素
>>> x = {'a', 'b', 'c'}
>>> x.add('d')
>>> x
{'a', 'b', 'c', 'd'}
- 在第 1 行,創(chuàng)建了一個包含 3 個字符串的集合 x
- 在第 2 行,向集合 x 增加一個元素 ‘d’
- 在第 3 行,打印集合 x,結果表明集合中新增了一個元素
- 從集合中刪除元素
>>> x = {'a', 'b', 'c'}
>>> x.remove('c')
>>> x
{'a', 'b'}
- 在第 1 行,創(chuàng)建了一個包含 3 個字符串的集合 x
- 在第 2 行,從集合 x 刪除一個元素 ‘c’
- 在第 3 行,打印集合 x,結果表明集合中刪除了一個元素
8. 小結
本文中簡略介紹了 Python 中支持的 7 種數(shù)據(jù)類型。它們按照自身是否可以進行修改的特性可以分為兩種:
- 可變數(shù)據(jù)類型:列表、字典、集合
- 不可變數(shù)據(jù)類型:數(shù)值,字符串、布爾值、元組
并且簡單介紹了這些數(shù)據(jù)類型的基本使用。