1. 程式人生 > >Python 數據類型之列表和元組

Python 數據類型之列表和元組

試圖 計算 變量 als 參數 元素 連接符 arr 數據類型

Python 數據類型之 列表和元組

Python 根據每個變量的初始賦值情況分析其類型,並在內部對其進行跟蹤

內置數據類型
Booleans [布爾型] True[真] 或 False [假]
Numbers [數值型] Integers[整數] Float[浮點數] Fractions[分數] Complex Number[復數]
Strings [字符串型] Unicode 字符序列
Bytes [字節] 和 Bytes Arrays [字節數組]
Lists [列表] 是值的有序序列
Tuples [元組] 是有序而不可變的值序列
Sets [集合] 是無序值的集合

Dictionaries[字典] 是鍵值對的無序集合

布爾類型
在布爾類型上下文環境中可使用任何表達式,Python 將試圖判斷其真值

數值類型
Python 同時支持Integer[整數] 和 Floating Point[浮點數],無任何類型聲明用於區分,通過是否有小數點來分辨它們
可使用type()函數來檢測任何值或變量的類型

type(10)
<class ‘int‘>
type(10.0)
<class ‘float‘>
還可使用isinstance()函數判斷某個值或變量是否為給定類型
isinstance(10,int)
True
整數和浮點數可相互強制轉換
float(10)
10.0

int(10.0)
10
int() 將進行取整,對於負數,int()函數朝著0的方法進行取整
int(5.5)
5
int(-5.5)
-5
整數可以任意大

常見數值運算
    / (浮點整除) 和 // (整除):朝著最近的整數“向上”四舍五入
    ** 計算冪  % 取余
    >>> 11/2
    5.5
    >>> 11//2
    5
    >>> -11/2
    -5.5
    >>> -11//2
    -6
    >>> 11**2
    121
    >>> 11%2
    1
分數(fractions 模塊)
    >>> import fractions
    >>> x = fractions.Fraction(1,3)
    >>> x
    Fraction(1, 3)
三角函數(math)
    >>> import math
    >>> math.pi
    3.141592653589793
在布爾上下文環境中的數值,零值為False[假],非零值為True[真]

列表
Python 主力數據類型,包含任何數據類型的元素
創建列表
使用中括號包括一系列以逗號分割的值即可
列表是元素的有序集合
列表索引總是以0為起點

l = [1,2,3,‘a‘,‘b‘,‘c‘]
l[0]
1
l[5]
‘c‘
l[-1]
‘c‘
l[-3]
‘a‘
列表切片
按順序從第一個切片索引元素開始,截止但不包含第二個切片索引
如果切片索引之一或兩者均為負數,切片操作仍可進行
l
[1, 2, 3, ‘a‘, ‘b‘, ‘c‘]
l[1:4]
[2, 3, ‘a‘]
l[1:-1]
[2, 3, ‘a‘, ‘b‘]
l[2:]
[3, ‘a‘, ‘b‘, ‘c‘]
l[:4]
[1, 2, 3, ‘a‘]
l[:4:2] ==> 步長
[1, 3]
列表新增元素

  • 列表連接符,創建一個新的列表
    l
    [1, 2, 3, ‘a‘, ‘b‘, ‘c‘]
    l + [4,5]
    [1, 2, 3, ‘a‘, ‘b‘, ‘c‘, 4, 5]
    append()方法向列表的尾部添加一個新的元素
    l
    [1, 2, 3, ‘a‘, ‘b‘, ‘c‘]
    l.append(‘true‘)
    l
    [1, 2, 3, ‘a‘, ‘b‘, ‘c‘, ‘true‘]
    extend()只接受一個列表作為參數,並將該參數的每個元素都添加到原有的列表中
    l
    [1, 2, 3, ‘a‘, ‘b‘, ‘c‘, ‘true‘]
    l.extend([4,5,6])
    l
    [1, 2, 3, ‘a‘, ‘b‘, ‘c‘, ‘true‘, 4, 5, 6]
    insert()方法將單個元素插入到列表指定位置,第一個參數是插入列表中位置索引,第二個是要插入的元素值
    l
    [1, 2, 3, ‘a‘, ‘b‘, ‘c‘, ‘true‘, 4, 5, 6]
    l.insert(0,0)
    l
    [0, 1, 2, 3, ‘a‘, ‘b‘, ‘c‘, ‘true‘, 4, 5, 6]
    在列表中檢索值
    count()方法找出元素出現的次數
    index()方法找出元素在列表中第一次出現的索引值
    判斷元素是否在列表中存在
    l
    [0, 1, 2, 3, ‘a‘, ‘b‘, ‘c‘, ‘true‘, 4, 5, 6, 2]
    l.count(2)
    2
    l.count(‘true‘)
    1
    l.index(2)
    2
    1 in l
    True
    8 in l
    False

在列表中刪除元素
通過列表索引刪除元素 del
通過列表元素值刪除 remove()
每次刪除列表的最後一個元素 pop(),並返回刪除的元素
l
[0, 1, 2, 3, ‘a‘, ‘b‘, ‘c‘, ‘true‘, 4, 5, 6, 2]
del l[3]
l
[0, 1, 2, ‘a‘, ‘b‘, ‘c‘, ‘true‘, 4, 5, 6, 2]
l
[0, 1, 2, ‘a‘, ‘b‘, ‘c‘, ‘true‘, 4, 5, 6, 2]
l.remove(2)
l
[0, 1, ‘a‘, ‘b‘, ‘c‘, ‘true‘, 4, 5, 6, 2]
l.remove(2)
l
[0, 1, ‘a‘, ‘b‘, ‘c‘, ‘true‘, 4, 5, 6]
l.pop()
6
l.pop()
5
l.pop()
4
l
[0, 1, ‘a‘, ‘b‘, ‘c‘, ‘true‘]
布爾上下文環境中的列表
空列表為假
非空列表為真

元組
元素是不可變的有序的列表
創建單元素元組的時候需在值後面加逗號
無法向元組增加,刪除和修改元素
元組和列表可相互轉換
在布爾上下文環境中: 空元組為假,非空元組為真
可使用元組多遠賦值

(One,Two,Three,Four,Five,Six,Seven) = range(7)
One
0
Five
4
Seven
6

Python 數據類型之列表和元組