python123第六周_第六周:组合数据类型

6.1组合类型及操作

1.集合类型的定义

集合是多个元素的无序组合

集合类型与数学中的集合概念一致

集合元素之间无序,每个元素唯一,不存在相同元素

集合元素不可更改,不能是可变数据类型

集合用大括号 {} 表示,元素间用逗号分隔

建立集合类型用 {} 或 set()

建立空集合类型,必须使用set()

2.集合操作符

3.集合处理方法

4.集合类型应用场景

>>> "p" in {"p", "y" , 123}

True

>>> {"p", "y"} >= {"p", "y" , 123}

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)

3

>>> 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 != "":

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)))

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 ("{0:<10}{1:>5}".format(word, count))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值