目錄
- 前言
- 1. 串列
- 2. 元組
- 3. 集合
- 4. 字典
前言
Python 四種集合資料型別:
- 串列(List)是一種有序和可更改的集合,允許重復的成員,
- 元組(Tuple)是一種有序且不可更改的集合,允許重復的成員,
- 集合(Set)是一個無序和無索引的集合,沒有重復的成員,
- 詞典(Dictionary)是一個無序,可變和有索引的集合,沒有重復的成員,
常用的幾種型別如上面所示
下面將一一講解四種型別以及其中的區別
1. 串列
串列是以[]格式,而且字符可以雙引號或者單引號
x = ["a", "b", "c"]
print(x)
x = ['a', 'b','c']
print(x)
截圖如下:

串列中的方法有很多,舉幾個方法如下:
| 方法 | 描述 |
|---|---|
| append() | 在串列的末尾添加一個元素 |
| clear() | 洗掉串列中的所有元素 |
| copy() | 回傳串列的副本 |
| count() | 回傳具有指定值的元素數量, |
| extend() | 將串列元素(或任何可迭代的元素)添加到當前串列的末尾 |
| index() | 回傳具有指定值的第一個元素的索引 |
| insert() | 在指定位置添加元素 |
| pop() | 洗掉指定位置的元素 |
| remove() | 洗掉具有指定值的專案 |
| reverse() | 顛倒串列的順序 |
| sort() | 對串列進行排序 |
怎么參考串列,通過其索引進行訪問
- 具體訪問通過其下標值進行訪問
x = ["a", "b", "c"]
print(x[1])

- 負索引進行訪問,-1 表示最后一個專案,-2 表示倒數第二個專案
x = ["a", "b", "c"]
print(x[-1])

- 通過其索引范圍,具體是左閉右開
x = ["a", "b", "c"]
print(x[0:1])
x = ["a", "b", "c"]
print(x[0:])
x = ["a", "b", "c"]
print(x[:1])

- 或者是負索引的范圍
最右邊是負1,也是左閉右開
x = ["a", "b", "c"]
print(x[-3:-1])

怎么更改其串列值
串列可以更改值
具體更改只需要在索引值中更改其值即可
x = ["a", "b", "c"]
x[1]="v"
print(x)

串列中進行遍歷輸出
使用for each結構進行遍歷輸出
x = ["a", "b", "c"]
for y in x:
print(y)

檢查串列中是否有該值
通過for in結構進行遍歷,如果有該值進行輸出
x = ["a", "b", "c"]
if "a" in x:
print("yes")

串列長度
x = ["a", "b", "c"]
print(len(x))

添加元素
添加元素有多種,不過以下的展示注意區分
- 將專案添加到串列的末尾
append() - 指定的索引處添加專案
insert()
x = ["a", "b", "c"]
x.append("d")
print(x)
x = ["a", "b", "c"]
x.insert(3,"d")
print(x)

移除元素
移除元素也有多種,注意區分
- remove() 方法洗掉指定的專案
- pop() 方法洗掉指定的索引(如果未指定索引,則洗掉最后一項)
- del 關鍵字洗掉指定的索引
- clear() 方法清空串列
x.remove("d")
x = ["a", "b", "c"]
x.pop()
print(x)
del x[0]
del x

del x是完整的洗掉串列,最后輸出x的時候也找不到該串列了
對比一下清空串列
x = ["a", "b", "c"]
x.clear()
print(x)

合并兩個串列
合并串列可以通過+進行操作
x = ["a", "b", "c"]
y = ["d","e","f"]
x+y

具體添加串列可以結合append和extend進行for回圈的添加
x = ["a", "b", "c"]
y = ["d","e","f"]
for z in y:
x.append(z)
x

x = ["a", "b", "c"]
y = ["d","e","f"]
x.extend(y)
x

構造串列
通過雙括號進行構建
x = list(("a", "b", "c"))
x

2. 元組
相信講完串列
對python的一些基本概念都了解得差不多
下面開始講元組
結構也差不多大同小異
只不過元組是以()為結構,且是不可更改
| 方法 | 描述 |
|---|---|
| count() | 回傳元組中指定值出現的次數 |
| index() | 在元組中搜索指定的值并回傳它被找到的位置 |
x=("a","b","c")
print(x)
print(x[1])
print(x[-1])
print(x[0:1])

如果更改其數值
會出錯

對比其串列
陣列不可更改不可添加元素,無法洗掉其專案中的某一個,但可以徹底洗掉元組
但其遍歷、檢查專案是否存在、元組長度都是一樣的
而且如需創建僅包含一個專案的元組,您必須在該專案后添加一個逗號,否則 Python 無法將變數識別為元組
x= ("a",)
print(type(x))
#不是元組
x= ("a")
print(type(x))
也可以通過構建元組的方式
x = tuple(("a", "b", "c")) # 請注意雙括號
print(x)
3. 集合
無序和無索引的集合,用花括號
x = {"a", "b", "c"}
print(x)
| 方法 | 描述 |
|---|---|
| add() | 向集合添加元素, |
| clear() | 洗掉集合中的所有元素, |
| copy() | 回傳集合的副本, |
| difference() | 回傳包含兩個或更多集合之間差異的集合, |
| difference_update() | 洗掉此集合中也包含在另一個指定集合中的專案, |
| discard() | 洗掉指定專案, |
| intersection() | 回傳為兩個其他集合的交集的集合, |
| intersection_update() | 洗掉此集合中不存在于其他指定集合中的專案, |
| isdisjoint() | 回傳兩個集合是否有交集, |
| issubset() | 回傳另一個集合是否包含此集合, |
| issuperset() | 回傳此集合是否包含另一個集合, |
| pop() | 從集合中洗掉一個元素, |
| remove() | 洗掉指定元素, |
| symmetric_difference() | 回傳具有兩組集合的對稱差集的集合, |
| symmetric_difference_update() | 插入此集合和另一個集合的對稱差集, |
| union() | 回傳包含集合并集的集合, |
| update() | 用此集合和其他集合的并集來更新集合, |
集合中由于是無序的,所以無法將其顯示索引值,但可以通過for進行遍歷
無法更改其值,但可以添加一些值:
- 將一個項添加到集合
add()
x = {"a", "b", "c"}
x.add("d")
print(x)

- 向集合中添加多個專案
update()
x = {"a", "b", "c"}
x.update(["d", "e", "f"])
print(x)

-
洗掉集合中的專案
remove()或discard() -
集合中無序,使用pop不知道清除哪個
x = {"a", "b", "c"}
x.pop()
print(x)

clear()清空集合,del徹底洗掉集合union()合并集合
構造集合使用
x = set(("a", "b", "c")) # 請留意這個雙括號
print(x)
4. 字典
- 無序、可變和有索引的集合
- 字典用花括號撰寫,擁有鍵和值
x = {
"a": "1",
"b": "2",
"c": 3
}
print(x)
獲取值可以通過直接索引或者get獲取

| 方法 | 描述 |
|---|---|
| clear() | 洗掉字典中的所有元素 |
| copy() | 回傳字典的副本 |
| fromkeys() | 回傳擁有指定鍵和值的字典 |
| get() | 回傳指定鍵的值 |
| items() | 回傳包含每個鍵值對的元組的串列 |
| keys() | 回傳包含字典鍵的串列 |
| pop() | 洗掉擁有指定鍵的元素 |
| popitem() | 洗掉最后插入的鍵值對 |
| setdefault() | 回傳指定鍵的值,如果該鍵不存在,則插入具有指定值的鍵, |
| update() | 使用指定的鍵值對字典進行更新 |
| values() | 回傳字典中所有值的串列 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301523.html
標籤:其他
上一篇:排序演算法學習(2)(快速排序,歸并排序,計數排序)(詳細決議,建議收藏!!!)
下一篇:理解常用的八個排序
