文章目錄
一.集合類型及操作
1.1 集合類型的定義
- 集合類型與數學的集合概念一致
- 集合元素之間無序,每個元素唯一,不存在相同元素
- 集合元素不可更改,不能是可變數據類型(數據一旦放入便不可修改)
- 集合用{}表示,元素間用逗號分離
- 建立集合類型用{}或
set()
- 建立空集合類型,必須用
set()
1.2 集合操作符
(1)6個基本操作符
(2)4個增強操作符
1.3 集合處理方法
二.序列類型及操作
2.1 序列類型定義
- 序列是具有先後關係的一組元素
- 是一維元素向量,元素類型可以不同
- 元素間由序號引導,通過下標訪問序列的特定元素
- 序列是一個基類類型
2.2 序列處理函數及方法
(1)6個操作符
(2)5個函數和方法
2.3 元組類型及操作
解釋:元組是序列類型的一種擴展
- 元組是一種序列類型,一旦創建就不能修改
- 使用小括號()或者
tuple()
,元素間用逗號分隔 - 可以使用或不使用小括號
- 元組繼承了序列類型的全部通用操作
2.4 列表類型及操作
(1)解釋:列表是序列類型的一種擴展,十分常用
- 列表是一種序列類型,創建後可以隨意被修改
- 使用方括號[]或list()創建,元素間用逗號分隔
- 列表各元素類型可以不同,無長度限制
(2)列表類型操作函數和方法
三.實例:基本統計值得計算
def getNum(): #獲取用戶不定長度的輸入
nums = []
iNumStr = input("請輸入數字(回車退出): ")
while iNumStr != "":
nums.append(eval(iNumStr))
iNumStr = input("請輸入數字(回車退出): ")
return nums
def mean(numbers): #計算平均值
s = 0.0
for num in numbers:
s = s + num
return s / len(numbers)
def dev(numbers, mean): #計算方差
sdev = 0.0
for num in numbers:
sdev = sdev + (num - mean)**2
return pow(sdev / (len(numbers)-1), 0.5)
def median(numbers): #計算中位數
sorted(numbers)
size = len(numbers)
if size % 2 == 0:
med = (numbers[size//2-1] + numbers[size//2])/2
else:
med = numbers[size//2]
return med
n = getNum() #主體函數
m = mean(n)
print("平均值:{},方差:{:.2},中位數:{}.".format(m, dev(n,m),median(n)))
運行效果:
四.字典類型及操作
4.1 字典類型定義
(1)解釋:字典類型是“映射”的體現
- 鍵值對:鍵是數據索引的擴展
- 字典是鍵值的集合,鍵值對之間無序
- 採用大括號{},和dict()創建,鍵值對用冒號:表示
舉例:
{<鍵1>:<值1>,<鍵2>:<值2>,...,<鍵n>:<值n>}
(2)用法
在字典變量中,通過鍵獲得值
<字典變量> = {<鍵1>:<值1>,...,<鍵N>:<值n>}
<值> = <字典變量>[<值>] <字典變量>[鍵] = <值>
舉例:
4.2 字典處理函數及方法
舉例:
舉例:
五.模塊5:jieba庫的使用
5.1 jieba的基本介紹
(1)解釋:jieba1是優秀的中文分詞第三方庫
- 中文文本需要通過分詞獲得單個的詞語
- jieba需要額外安裝
- jieba庫提供三種分詞模式,最簡單只需要掌握一個函數
(2)安裝
cmd下 pip install jieba
5.2 jieba分詞的三種模式
(1)基本介紹
- 精確模式:吧文本精確分開,不存在冗餘單詞
- 全模式:吧文本中所有可能的詞語都掃描出來,有冗餘
- 搜索引擎模式:在精確模式基礎上,對長詞再次切分
(2)jieba庫常用函數