Python基础学习(4)散列类型(无序序列)


Python基础学习(1)基本知识
Python基础学习(2)序列类型方法与数据类型转换
Python基础学习(3)进阶字符串(格式化输出)
Python基础学习(4)散列类型(无序序列)
Python基础学习(5)流程控制
Python基础学习(6)函数基础与函数参数
Python基础学习(7)函数作用域与名称空间

一,认识集合

1.定义

集合(set)
集合的特性:唯一性 无序性 主要用来进行去重和逻辑判断

表示形式为:
用大括号{}包裹起来的数据 数据之间用逗号隔开

语法格式:
集合名={数据1,数据2…}

food = {'旺仔牛奶', '螺蛳粉', '热干面', '可乐鸡翅', '蜜汁小汉堡', '东坡肉'}
print(food)

num = {1, 2, 5, 1, 2, 5, 4, 3, 1, 2}
# 正常输出一个集合里面重复的元素自动去除 代表集合唯一性去重性
print(num)
# print(num[3]) # 报错 因为集合是无序类型没有下标 所以序列类型的特性

2.运算

进行逻辑运算 集合逻辑运算
集合1&集合2 – 获取交集
集合1|集合2 – 获取并集
集合1-集合2 – 获取差集

    class116 = {'秦锐灵', '荷包蛋', '谢斌'}
    class117 = {'桑杰伦', '坤坤', '谢斌'}
    # 交集
    print(class116 & class117)
    # 并集
    print(class116 | class117)
    # 差集
    print(class116 - class117)
    print(class117 - class116)

集合作用: 在有两个文件的时候 数据繁琐的时候 通过逻辑判断 可以帮助你找到重复的数据进行去重的操作 也可以通过交集操作去删除多余的文件

注意
①集合可以放很多数据 字符串 布尔值 整型 浮点型 元组等等 但是集合不能放列表
②集合里面只能放不可修改的数据
③集合里面不能放列表/集合/字典!!!

二.集合方法

1.删

①pop:删除一个数据(根据版本不同有些从头开始删除或者随机删除或者从末尾删除)
语法格式:集合名.pop()

②remove:删除指定的数据
语法格式:集合名.remove(数据)

③clear:清空数据
语法格式:集合名.clear()

2.增

add:增加一个数据(随机)
语法格式:集合名.add(数据)

#增
a = {'你好', 666, 6.6, True, (66, 7, 66)}
a.add(8)  # 随机添加  因为无序
a.add('不良帅')
print(a)

三.认识字典

1.字典(dict)

表示形式为:字典是用大括号包裹起来的 存储数据是以键值对的方式存储 数据之间用逗号隔开 主要存储一些带有'说明'性质的数据

语法格式:
    键值对:{键:值}
    字典名 = {键:值,键:值,键:值.....}
    字典的键是不可变类型 字典的值可以是任意类型
mes1 = {'姓名': '谭楚泽', '年龄': 18, '工资': 9.9, '姓名': '于健康'}
print(mes1)
# 字典中的键名重复的情况下 后面的会把前面的覆盖

name='卧'
name='康'1
print(name)

2.特性

①通过键值对的方式存储数据 取数据 而不是通过下标索引
②字典里的数据是可以改变的 并且可以嵌套(字典里放字典)
③键名是唯一性

3.字典方法

①查

字典跟集合一样是无序序列所以无法通过下标进行获取数据或者查询数据

①通过键(key)寻找值
语法格式: 字典名[键名]

②get通过键(key)获取值
语法格式: 字典名.get(键名)

③ 其他查询方法
字典名.keys() # 获取字典中所有的键
字典名.values() # 获取字典中所有的值
字典名.items() # 获取字典中所有的键值对(键值对是以元组的形式输出)

a={"姓名":"小孩","工资":15515,"姓名":"大孩子"}
print(a["工资"])
print(a.get("姓名"))
print(a.values())
print(a.keys())
print(a.items())
15515
大孩子
dict_values(['大孩子', 15515])
dict_keys(['姓名', '工资'])
dict_items([('姓名', '大孩子'), ('工资', 15515)])

②改

语法格式: 字典名[键名]=新的值

③增

语法格式: 字典名.setdefault(键,值)

可以增加也可以修改 一次性可以添加多个键值对 数据之间逗号隔开
语法格式: 字典名.update({键:值,键:值})

    ho = {'红头发': '黄滨', '绿头发': '坤坤'}
    ho.update({'黄头发': '小北', '粉头发': '谭凯', '白色中分': '叶论文'})
    ho.update({'黄头发': '小李'}) # 键名存在会修改 修改键的值 如果没有就会新增
    ho.setdefault('五颜六色头发') # 没有值 默认空NONE
    ho.update({'五颜六色头发':'小北'})
    print(ho)

④删

1.pop: 通过键名指定删除数据
语法格式: 字典名.pop(键名)

2.popitem: 根据版本信息不同随机删除键值对
语法格式: 字典名.popitem()

3.clear: 全部清除
语法格式: 字典名.clear()

ho = {'红头发': '黄滨', '绿头发': '坤坤','黄头发': '小北', '粉头发': '谭凯','白色中分': '叶论文'}
ho.pop('黄头发') #通过键名删除
ho.pop('头发') #键名不存在是报错的
ho.popitem() #随机删除
# ho.clear() #全部清除
print(ho)

四.声明空变量

li=[] #声明空列表
lis=() #声明空元组
lst=‘’ #声明一个空字符串
mo={} #声明一个空字典因为字典比集合用的多
me=set() #声明一个空集合

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只特立独行猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值