【python】北京理工大学Python语言程序设计组合数据类型【六】

本文详细介绍了Python中的集合、序列(包括元组和列表)和字典等数据类型的操作,包括创建、修改、遍历等,并探讨了它们在实际应用中的场景。此外,还讲解了jieba库在中文分词上的使用,包括精确模式、全模式和搜索引擎模式。通过对这些基础知识的掌握,读者可以更好地理解和运用Python进行数据处理。
摘要由CSDN通过智能技术生成

@【python】北京理工大学Python语言程序设计程序组合数据类型【六】

内容

集合类型及操作
序列类型及操作
字典类型及操作
jieba库

集合类型及操作

集合是多个元素的无序组合,每个元素唯一,不存在相同元素。
集合元素不可修改,不可变数据类型。
用{}表示,或用set(),逗号分割
不能用A={}方式生产集合,这是字典类型

A={"python",123}
A=set()

操作符

S|T 并
S-T 除去S中有T的元素
S&T 交
S^T  S和T中的非共同元素
S<=T S<T 返回ture或false 判断子集关系
S>=T S>T

增强操作符

S|=T 类似增强运算符
S-=T
S&=T
S^=T

集合的处理方法

S.add(x) add x
S.discard(x) 移除X,如果没有x不报错
S.remove(c) 移除x,如果没有x产生KeyError错误
S.clear() 移除S中所有元素
S.pop() 随机返回S的一个元素,更新S,若S为空产生KeyError错误
S.copy() 返回S的一个副本
len(S) 返回S的元素个数
x in S 判断x是否在S中 ,返回True Flase
x not in S 同上
set(x) 将其他类型变量x变成集合类型

集合类型的应用场景
1.判断包含关系
2.数据去重

ls={"p","p"}
s=set(ls)   
{"p"}
lt=list(s)
["p"]

序列类型及操作

序列是具有先后关系的一组元素
序列是一维元素向量,元素类型可以不同
序列是一种基类类型
分为字符串类型 元组类型 列表类型

操作符

x in s 
x not in s
s+t
s*n 或者 n*s
s[i]
s[i:j:k]

序列通用函数与方法

len(s)
min(s) 最小元素 ,需要元素可比较,否则报错
max(s)
s.index(x)或者s.index(x,i,j) 从i到j第一次出现x的位置
s.count(x) 返回s中出现x的总次数

元组类型

元组是一种序列类型,一旦创建就不能修改
使用小括号()或tuple()创建,元素间用逗号分隔
在使用时可以使用或不使用小括号

careture="cat","dog"
creature=("1",careture)
creature[::-1] 返回是一个新的元组

列表类型

列表类型是序列类型,但是可以被修改
用方括号[]或者list()创建
注意

ls=[1]
lt=ls
只有用[]才是创建列表,=只是传递作用,ls,lt指向同一个列表

列表类型的操作函数和方法

ls[i]=x
ls[i:j:k]=lt lt填进ls切片后元素
del ls[i]
del ls[i:j:k]
ls+=lt
ls*=n
ls.append(x)
ls.clear()
ls.copy()
ls.insert(i,x)
ls.pop(i) 将列表i位置元素取出并删除该元素
ls.remove(x) 将ls中出现的第一个元素x删除
ls.reverse() 反转
sorted(ls) 排序

序列的应用场景
元组用于元素不改变的应用场景
列表更灵活

字典类型及操作

映射是键(索引)和值(数据)的对应
序列类型由0……N整数作为数据的默认索引
映射类型则由用户为数据定义索引
字典是键值对的集合,键值对间无序
采用大括号{}和dict()创建,键值对用冒号:表示

{<1>:<1>.<2>:<2>}

在字典变量中,通过键获得值

<字典变量>={<1>:<1>,<2>:<2>}
<>=<字典变量>[<>]
<字典变量>[<>]=<>

d={}生产空字典
字典类型操作函数及方法

del d[k] 删除键k对应的数据值
k in d 判断键k是否在字典中
d.keys() 返回所有键 返回是字典的key类型,不能当做列表类型来操作
d.values() 返回所有值
d.items() 返回所有键值对
d.get(k,<default>) 键k存在返回对应值,否则返回defalut值
d.pop(k,<default>) 取出k对应值,否则返回default
d.popitem() 随机取出一个键值对,以元组形式返回
d.clear()
len(d)

字典类型应用场景
元素遍历

jieba库

优秀的中文分词第三方库
jieba库有三种分词方式
利用中文词库,确定汉字之间的关联概率
精确模式 精确分开,不存在冗余单词
全模式 所有可能的词语都扫描出来,有冗余
搜索引擎模式 在精确模式基础上,对长词进行划分

jieba.lcut(s) 精确模式返回列表类型的分词结果
jieba.lcut(s,cut_all=True)  全模式
jieba.lcut_for_search(s)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值