python數據結構之集合,Python中集合

本文目錄一覽:

python自帶及pandas、numpy數據結構(一)

1.python自帶數據結構:序列(如list)、映射(如字典)、集合(set)。

以下只介紹序列中的list:

創建list:

list1 = []

list1 = [1,2,3,4,5,6,7,8,9] #逗號隔開

list2 = [[1,2],[3,4],[5,6],[7,8]] #list2長度(len(list2))為2,list2[0] = [1,2]

liststring = list(「thisisalist」) #只用於創建字符串列表

索引list:

e = list1[0] #下標從零開始,用中括號

分片list:

es = list1[0:3]

es = list1[0:9:2] #步長在第二個冒號後

list拼接(list1.append(obj)、加運算及乘運算):

list長度:

list每個元素乘一個數值:

list2 = numpy.dot(list2,2)

list類似矩陣相乘(每個元素對應相乘取和):

list3 = numpy.dot(list1,list1)

#要求相乘的兩個list長度相同

list3 = numpy.dot(list2,list22)

#要求numpy.shape(list2)和numpy.shape(list22)滿足「左行等於右列」的矩陣相乘條件,相乘結果numpy.shape(list3)滿足「左列右行」

2.numpy數據結構:

Array:

產生array:

data=np.array([[1, 9, 6], [2, 8, 5], [3, 7, 4]])

data=np.array(list1)

data1 = np.zeros(5) #data1.shape = (5,),5列

data1 = np.eye(5)

索引array:

datacut = data[0,2] #取第零行第二列,此處是6

切片array:

datacut = data[0:2,2] # array([6, 5])

array長度:

data.shape

data.size

np.shape(data)

np.size(data)

len(data)

array拼接:

#括號內也有一個括號(中括號或者小括號)!

d = np.concatenate((data,data))

d = np.concatenate((data,data),axis = 1) #對應行拼接

array加法:逐個相加

array乘法:

d = data data #逐個相乘

d = np.dot(data,data) #矩陣相乘

d = data 3 #每個元素乘3

d = np.dot(data,3) #每個元素乘3

array矩陣運算:

取逆 : np.linalg.inv(data)

轉置:data.T

所有元素求和 : np.sum(data)

生成隨機數:np.random.normal(loc=0, scale=10, size=None)

生成標準正態分佈隨機數組:np.random.normal(size=(4,4))

生成二維隨機數組:

np.random.multivariate_normal([0,0],np.eye(2))

生成範圍在0到1之間的隨機矩陣(M,N):

np.random.randint(0,2,(M,N))

Matrix:

創建matrix:

mat1 = np.mat([[1, 2, 3], [4, 5, 6]])

mat1 = np.mat(list)

mat1 = np.mat(data)

matrix是二維的,所有+,-,*都是矩陣操作。

matrix索引和分列:

mat1[0:2,1]

matrix轉置:

np.transpose(mat1)

mat1.transpose()

matrix拼接:

np.concatenate([mat1,mat1])

np.concatenate([mat1,mat1],axis = 1)

numpy數據結構總結:對於numpy中的數據結構的操作方法基本相同:

創建:np.mat(list),np.array(list)

矩陣乘:np.dot(x,y)

轉置:x.T or np.transpose(x)

拼接:np.concatenate([x,y],axis = 1)

索引:mat[0:1,4],ary[0:1,4]

3.pandas數據結構:

Series:

創建series:

s = pd.Series([[1,2,3],[4,5,6]],index = [『a』,『b』])

索引series:

s1 = s[『b』]

拼接series:

pd.concat([s1,s1],axis = 1) #也可使用s.append(s)

DataFrame:

創建DaraFrame:

df = pd.DataFrame([[1,2,3],[1,2,3]],index = [‘a’,’b’],columns = [‘x’,’y’,’z’])

df取某一列:

dfc1 =df.x

dfc1 = df[『x』]

dfc2 = df.iloc[:,0] #用.iloc方括號里是數字而不是column名!

dfc2 = df.iloc[:,0:3]

df取某一行:

dfr1 = df.iloc[0]

df1 = df.iloc[0:2]

df1 = df[0:2] #這種方法只能用於取一個區間

df取某個值:

dfc2 = df.iloc[0,0]

dfc2 = df.iloc[0:2,0:3]

python基礎-列表 元組 集合 字典區別和用法

Python中有六個標準的數據類型:Number(數字),String(字符串),List(列表),Tuple(元組),Set(集合),Dictionary(字典)。其中:Number(數字)、String(字符串)、Tuple(元組)是不可變數據,其餘三種是可變數據。

轉義字符

輸出結果

布爾值

布爾值是一個邏輯值,只有真(True)和假(False)

輸出結果

Python數據結構包括列表(list)、元組(tuple)、集合(set)、字典(dict)等,這裡主要講解列表,列表有兩個特點:

輸出結果

修改表中元素

輸出結果

列表中插入元素

輸出結果

輸出列表中的元素

輸出結果

元素是否在列表元素中及統計個數

輸出結果

查找某個元素在列表中的位置

輸出結果

順序結構

輸出結果

if 條件 1

輸出結果

if 條件 2

輸出結果

循環結構

輸出結果

循環語句求和

輸出結果

可重複,類型可不同。 類型不同也是跟數組最本質的區別。 python里的列表用「[]」表示: 

對比a和b的結果

列表的 — 增 — 刪 — 改 — 查

循環輸出列表內容,在結尾添加指定的內容

字符串是 Python 中最常用的數據類型。 我們可以使用引號(‘或”)來創建字符串。

元組與列表相似,不一樣之處在於 元組的元素不能修改。

元組使用小括號,列表使用方括號。

元組建立很簡單,只須要在括號中添加元素,並使用逗號隔開便可。

字典是另外一種可變容器模型,且可存儲任意類型對象。

字典的每一個鍵值(key=value)對用冒號(:)分割,每一個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式以下所示:

d = {key1 : value1, key2 : value2 }

字典函數

集合(set)是一個 無序的不重複元素序列。

可使用大括號 { } 或者 set() 函數建立集合,注意:建立一個空集合必須用 set() 而不是 { },由於 { } 是用來建立一個空字典。

它的主要做用以下: 1.去重,把一個列表變成集合,就自動去重了 。2.關係測試,測試兩組數據以前的交集、差集、並集等關係。

關係測試

輸出結果

元素的添加和刪除

Python 簡明教程 —13,Python 集合

目錄

前幾節我們已經介紹了Python 中的 列表list , 元組tuple 和 字典dict ,本節來介紹Python 中的最後一種數據結構—— 集合set 。

Python 中的 set 與 dict 很像,唯一的不同是, dict 中保存的是 鍵值對 ,而 set 中只保存 鍵 ,沒有 值 。

Python 集合 有如下特點:

Python 集合的聲明有兩種方式:

創建 空集合 時,只能用 set() ,而不能用 {} :

創建 非空集合 時,可以用 set() ,也可以用 {} :

由於集合中的元素是唯一的,如果初始化時的 可迭代 數據中有重複的元素,則會自動刪去重複的元素:

使用 len() 函數可以查看集合中元素的個數:

由於Python 集合中的元素的是無序的,所以可不能使用 下標 的方式來訪問集合中的單個元素。

我們可以使用 for 循環 來遍歷集合中的所有元素:

我們可以對兩個集合進行如下運算:

交集與並集

in 運算

使用 dir(set) 查看集合支持的所有方法:

下面一一介紹這些 非魔法方法 ,共17 個。

1. add 方法

由於集合中的元素是唯一的,向集合中添加元素時有兩種情況:

示例:

2. remove 方法

示例:

3. discard 方法

示例:

4. pop 方法

示例:

5. union 方法

示例:

6. update 方法

示例:

7. clear 方法

示例:

8. copy 方法

示例:

9. difference 方法

示例:

10. difference_update 方法

示例:

11. intersection 方法

示例:

12. intersection_update 方法

示例:

13. isdisjoint 方法

示例:

14. issubset 方法

示例:

15. issuperset 方法

示例:

16. symmetric_difference 方法

示例:

17. symmetric_difference_update 方法

示例:

(完。)

推薦閱讀:

Python 簡明教程 — 8,Python 字符串函數

Python 簡明教程 — 9,Python 編碼

Python 簡明教程 —10,Python 列表

Python 簡明教程 —11,Python 元組

Python 簡明教程 —12,Python 字典

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/253374.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-14 02:16
下一篇 2024-12-14 02:16

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論