python学习笔记一

python学习笔记之组合数据类型

一、 集合类型

  1. 集合的定义

与数学中集合的定义相同

使用{},或者set()函数

例如:
a = {1, ‘abc’, (a, b, c)}表示一个含有三个元素的集合,三个元素分别是:整数1,字符串abc,以及元祖数据类型(a , b, c)
2. 集合常用的方法

add():如果集合中没有该元素,则将该元素添加至集合中。

discard():如果集合中有这个元素,则将该元素丢弃,如果集合中没有该元素,则不会报异常。

remove():与discard()相同,不同的是如果***集合中没有该元素,则将抛出keyError异常。***

pop():随机取出集合中的某个元素,如果集合为空,则***抛出异常***

  1. 集合的操作运算符
    假设有两个集合数据类型a和b

    1. a | b : 及a集合并上b集合
    2. a & b : 及a集合与b集合的交集
    3. a ^ b : a集合与b集合的所有元素除去a集合与b集合共有的元素
    4. a - b : a集合的所有元素除去b集合在a集合中的元素
    5. |=, &=, ^=, -= : 增强运算符,例如:a |= b,将a集合修改为a与b的交集。如果不采用增强运算符,如a | b,则a | b 的结果可以不会修改a集合,a | b的结果可以赋值给一个新的变量。
    6. >,<,>=,<=,==:比较集合之间的关系,如a < b,如果a是b的子集,则返回True,否则返回False。
  2. 集合的应用

    1. 数据去重:
      假设有一个列表a = [1, 2, 1, 3, 2],要想去掉重复数据元素,可以通过set()函数生成一个没有重复数据的集合,要将该集合重新转变为列表数据类型,可以通过list()函数
    a = [1, 2, 1, 3, 2]
    # 生成集合{1, 2, 3} (顺序不一定)
    b = set(a)
    # 生成列表数据类型 (数据不一定)
    c = list(b)
    
    1. 比较集合的包含关系
      判断a是否是b的子集
    if a < b:
    	print("a是b的子集")
    else:
    	print("a不是b的子集")
    
    

二、序列类型

  1. 定义:
    按一定顺序排列,可重复,可用下标索引,类似于数学上的数组:s0, s1, s2, s3, s4,…
  2. 由序列衍生出来的三种类型:字符串,元组,列表
  3. 序列类型常用操作符:
    假设s为序列类型
    1. x in s:判断x是否在序列s中,是返回True,否则返回false
    2. x not in s:与x in s相反
    3. 假设s1为序列类型, s + s1是将序列s与序列s1拼接生成新的序列。 s * n或n * s是将n个s重复拼接成新的列表
  4. 序列类型常用函数:
    1. max():找到序列中最大的元素,序列中的元素必须可比较,否则将报错
    2. min():与max()相反
    3. len():计算序列元素的个数
  5. 元组:
    1. 元组类型不可修改
    2. 操作函数与序列类似
    3. 创建一个元组可以用()或者tuple()
  6. 列表
    1. 列表可修改
    2. 创建一个列表可以用[]或者list()
    3. sorted():对列表进行排序,返回一个新的列表
    >>> a = [1, 2, 5, 9, 3, 11]
    >>> sorted(a)
    [1, 2, 3, 5, 9, 11]
    >>> a
    [1, 2, 5, 9, 3, 11]
    
    上述结果表明,sorted()对原列表不进行修改
    1. 假设列表a = [1, 3, 9, 8, 3],a.index()的作用是找到第一个值指定值相同的数值的索引,如a.index(1),返回0。如果指定值不在列表中,则将抛出ValueError的异常

三、字典

  1. 定义
    字典是由键值对构成的组合类型
  2. 创建字典使用{}或者dict()
  3. 字典的常用操作符及函数:
    假设d是一个字典
    1. a in d:字典中是否存在键为a的键值对。
    2. 可以使用del关键字删除指定键的键值对,如:del d[‘a’],即删除字典d中建为’a’的键值对
    3. d.key():获得字典d的所有键
    4. d.value():获得字典d的所有键值
    5. d.item():获得字典d的所有键值对
    6. d.popitem():随机取出字典d中的键值对
    7. 可以通过d[‘key’]来添加或修改键值对
    8. d.get(key,default)取出key对应的value,如果没有key,则返回default。ps:d[‘key’]读取键值对的值时,如果没有相应的key,将会抛出异常。

四、jieba库
优秀的中文分词第三方库

  1. 提供三种分词模式:精确模式(没有冗余),全模式,搜索引擎模式
  2. 精确模式:lcut(s)
    全模式:lcut(s,cut_all=True)
    搜索引擎模式:lcut_for_search(s)
    示例:
    >>> jieba.lcut('我很帅气')
    ['我', '很', '帅气']
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值