python学习第三天——组合数据类型

1)集合类型

  • 集合:无序 用大括号{}表示,可包含0个或多个数据项
    定义空集合必须用set()函数
    注意:s={}这是字典类型dict
    集合中元素不可重复,元素类型只能是固定类型——数字
    它没有索引和位置的概念,集合中元素可以动态增加或删除
    集合类型有4个操作符,交集&、并集|、差集-、补集^
    【差集s1-s2,s1有s2没有的】
    操作逻辑与数学定义相同
  • 操作函数或方法:
    s.add(x) 如果x不在集合中,增加x到s
    s.remove(x) 如果x在集合中【不再产生KeyError异常】移除该元素
    s.clear(x) 移除s中所有数据项 s.clear()显示set()
    len(s) 返回s元素个数
    x in s 如果x是s的元素返回true,否则返回false
    x not in s 如果x不是s的元素返回true,否则返回false

2)列表类型

  • 所有元素放在中括号[]
    列表
    属于序列类型「有顺序」
    **,元素类型可以不同
    可以使用list()或[]创建空列表
    支持双向索引
    列表是可变的
s = [2,"python",[2,4,6],"hello"]
m = "python"
lt = list(m)
print(lt)
#注意切片切出来的一个元素也还是列表类型
print(s[1:2])
#但单独的某一位置元素是字符串没有错
print(s[1])
  • 列表的切片
    <列表或列表变量>[N::K]K可省略 起始位置:终止位置(不包含):步长(1)
    正向和反向切片均可
  • 列表支持的操作符
    [1,3,5,7] + [2,4] [1,3,5,7,2,4] [1,3,5] * 3 [1,3,5,1,3,5,1,3,5]

3)元组类型

  • 元组
    所有元素放到**圆括号()**内
    如果元组中只有一个元素,必须在最后增加一个逗号
t = (1)
#type = int
t = (1,)
#type = tuple
可以使用tuple()或()创建空元组
支持双向索引
***元组是不可变的***
  • 元组的索引
    索引是列表的基本操作,用于获得列表的一个元素,使用中括号为索引操作符
  • 元组的切片
    元组的切片用于获取元组的一个片段(一个或多个元素)——切片的结果也是元组类型
    <元组或元组变量>{N:M:K]K可省略 不包含M
  • 元组支持的操作符
    (1,3,5) + (2,4,6)
    (1,3,5,2,4,6)
    (1,3,5) * 3
    (1,3,5,1,3,5,1,3,5)

4)字典类型

  • 字典
    元素放在花括号{}
    每个元素是一个键值对,元素之间用逗号隔开
    使用方式{key1:value1,key2:value2}
    可以用dict()或{}创建空字典
    键值对之间
    没有顺序
    不能重复
d = {"小红":18,"小黑",27}
print(d)
  • 查找字典中元素
    <值> = <字典变量>[<键>]
    利用索引和赋值可以对字典中的元素进行修改
    利用索引和赋值可以在字典中增加新的元素
    使用del关键字可以删除字典的对应元素或字典本身
d = {"201801":"小明","201802":"小红"}
print(d)
d["201802"] = "新小红"
print(d)
d["201803"] = "小白"
print(d)

del d["201801"]
print(d)

d.clear()
print(d)

操作函数或方法:
s.add(x) 如果x不在集合中,增加x到s
s.remove(x) 如果x在集合中【不再产生KeyError异常】移除该元素
s.clear(x) 移除s中所有数据项
len(s) 返回s元素个数
x in s 如果x是s的元素返回true,否则返回false
x not in s 如果x不是s的元素返回true,否则返回false

5)组合数据类型

组合数据类型
序列类型
集合类型
映射类型
字符串
元组
列表
集合
字典

6)列表的操作方法

  • 操作函数:
    len(ls) 列表ls的元素个数
    min(ls) 列表ls中的最小元素(使用条件:内部数据可比较)
    max(ls) 列表ls中的最大元素(使用条件:内部数据可比较)
    list(x) 将x转换成列表类型
    操作方法:
    <列表变量>.<方法名称>(<方法参数>)
    ls.append(x) 在列表ls最后增加一个元素
    ls.insert(index,x) 在列表ls第index位置增加一个元素
    ls.clear() 删除ls中所有元素
    ls.pop(index) 将列表ls中第index项元素取出并删除该元素
    ls.remove(x) 将列表中出现的第一个元素x删除
    ls.reverse() 列表ls中元素反转
    ls.copy() 生成一个新列表,复制ls中所有元素
ls = list("python")
ls = ["小蓝","小绿","小白"]
x = ls.pop(1)
ls.remove("小白")
lt = ls.copy()
print(lt)

7)列表的引用
ls = [“1010”,“10.10”,“python”]
lt = ls
ls.clear()
print(lt)
输出[]

原因:产生了ls、lt关联引用,修改时ls、lt同步改变
解决方法
ls.copy() 生成一个新列表,将ls元素清空不影响新生成的变量lt

8)字典的操作方法

  • 操作函数:
    len(d) 字典d的元素个数
    min(d) 字典d中的最小元素
    max(d) 字典d中的最大元素
    dict() 生成一个空字典
    操作方法:
    <字典变量>.<方法名称>(<方法参数>)
    d.keys(x) 返回所有的键信息
    d.valuest() 返回所有的值信息
    d.items() 返回所有的键值对
    d.get(key,default) 键存在则返回相应值,否则返回默认值
    d.pop(key,default) 键存在则返回相应值,同时删除键值
    d.popitem() 随即从字典中取出一个键值对,以元组
    d.clear() 删除所有的键值对
d = {"name":"zhangsan","age":18}
print(d.keys())
print(d.values())
print(d.items())
print(d.get("sex","male"))
print(d.pop("name"))
print(d.pop("sex","male"))
print(d.popitem())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值