6.1組合型別及操作
1.集合型別的定義
集合是多個元素的無序組合
集合型別與數學中的集合概念一致
集合元素之間無序,每個元素唯一,不存在相同元素
集合元素不可更改,不能是可變資料型別
集合用大括號 {} 表示,元素間用逗號分隔
建立集合型別用 {} 或 set()
建立空集合型別,必須使用set()
2.集合操作符
3.集合處理方法
4.集合型別應用場景
>>> "p" in
true
>>> >=
false
6.2序列型別及操作
1.序列型別定義
序列是具有先後關係的一組元素
序列是一維元素向量,元素型別可以不同
類似數學元素序列: s 0 , s 1 , … , s n-1
元素間由序號引導,通過下標訪問序列的特定元素
2.序列處理函式及方法
>>> ls = ["python", 123, ".io"]
>>> ls[::-1]
['.io', 123, 'python']
>>> s = "python123.io"
>>> s[::-1]
'oi.321nohtyp'
>>> ls = ["python", 123, ".io"]
>>> len(ls)
>>> s = "python123.io"
>>> max(s)
'y'3.元組型別及操作
元組是序列型別的一種拓展
元組是一種序列型別,一旦建立就不能被修改
使用小括號 () 或 tuple() 建立,元素間用逗號 , 分隔
可以使用或不使用小括號
元組繼承序列型別的全部通用操作
元組繼承了序列型別的全部通用操作
元組因為建立後不能修改,因此沒有特殊操作
使用或不使用小括號
4.列表型別及操作
列表是序列型別的一種擴充套件,十分常用
列表是一種序列型別,建立後可以隨意被修改
使用方括號 或list() 建立,元素間用逗號 , 分隔
列表中各元素型別可以不同,無長度限制
>>> ls = ["cat", "dog", "tiger", 1024]
>>> ls[1:2] = [1, 2, 3, 4]
['cat', 1, 2, 3, 4, 'tiger', 1024]
>>> del ls[::3]
[1, 2, 4, 'tiger']
>>> ls*2
[1, 2, 4, 'tiger', 1, 2, 4, 'tiger']
5.序列型別應用場景
資料表示:元組 和 列表
元組用於元素不改變的應用場景,更多用於固定搭配場景
列表更加靈活,它是最常用的序列型別
最主要作用:表示一組有序資料,進而操作它們
6.3基本統計值計算
#calstatisticsv1.py
def getnum(): #獲取使用者不定長度的輸入
nums =
inumstr = input("請輸入數字(回車退出): ")
while 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("平均值:{},方差:,中位數:{}.".format(m, dev(n,m),median(n)))
6.4字典型別及操作
1.字典型別定義
字典型別是「對映」的體現
鍵值對:鍵是資料索引的擴充套件
字典是鍵值對的集合,鍵值對之間無序
採用大括號{}和dict()建立,鍵值對用冒號: 表示
2.字典處理函式及方法
3.字典型別應用場景
對映無處不在,鍵值對無處不在
例如:統計資料出現的次數,資料是鍵,次數是值
最主要作用:表達鍵值對資料,進而操作它們
6.6文字詞頻統計
#calhamletv1.py
def gettext():
txt = open("hamlet.txt", "r").read()
txt = txt.lower()
for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_『~':
txt = txt.replace(ch, " ") #將文字中特殊字元替換為空格
return txt
hamlettxt = gettext()
words = hamlettxt.split()
counts = {}
for word in words:
counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=true)
for i in range(10):
word, count = items[i]
print ("".format(word, count))
Python123第六周(例項)
1,求解基本統計值 calstistics.py defgetnum 獲取多個輸入值 nums inumstr input 請輸入數字 回車退出 while inumstr eval inumstr inumstr input 請輸入數字 回車退出 此處無法忽略,否則輸入無法跳出 return nu...
Python123第六周程式設計題詳解
1,數字不同數之和 法1 number input s set number 輸入變為集合,達到資料去重的目的 sum 0ls list s 資料變為列表型別,便於索引 for i in range len ls sum sum eval ls i print sum 法2 number input...
第六周周總結
這一周,不管是生活上的還是學習上的,亦或是工作上的,都異常的忙碌,忙碌到心態會有些崩潰的地步,可能是性格原因,不願意說放棄就放棄,所以還是希望可以完成自己該做的,想做的事情。堅持不是一件容易的事情,可怕的是你都不知道自己的堅持到底對不對,不管正確與否,我都選擇,做下去。像長跑,原以為自己肯定跑不動,...