python数据容器之集合、字典

本文详细介绍了Python中的数据容器——集合和字典。首先讲解了集合的基本语法,包括创建、添加、删除和合并等操作,并通过实例展示了如何利用集合实现信息去重。接着,探讨了字典的定义、数据获取及常用操作,如新增、更新和删除元素,并给出了升职加薪的练习案例。最后,总结了数据容器的通用功能,如遍历、元素计数和转换等。

set集合

基本语法:

# 定义集合字面量

(元素,元素,……元素)

# 定义集合变量

变量名称 = (元素,元素,……元素)

# 定义空集合

变量名称 = set()

 

 

列表使用 []

元组使用 ()

字符串使用 ""

集合使用 {}

 

集合的常用操作-修改

添加新元素

语法:集合.add(元素)

结果:集合本身被修改,添加了新元素

移除元素

语法:集合.remove(元素)

结果:集合本身被修改,移除了元素

从集合中随机取出元素

语法:集合.pop() 从集合中随机取出一个元素

结果:会得到一个元素的结果。同时集合本身被修改,元素被移除。

清空集合

语法:集合.clear()

取出2个集合的差集

语法:集合1.difference(集合2) 取出集合1和集合2的差集(集合1有而集合2没有的)

结果:得到一个新集合,集合1和集合2不变

消除2个集合的差集

语法:集合1.difference_update(集合2)

功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素

结果:集合1被修改,集合2不变

2个集合合并

语法:集合1.union(集合2)

功能:将集合1和集合2组合成新集合

结果:得到新集合,集合1和集合2不变

统计集合元素数量

语法:len(集合)

 

集合的特点:

  • 可以容纳多个数据
  • 可以容纳不同类型的数据
  • 数据是无序存储的(不支持下标索引)
  • 不允许重复数据存在
  • 可以修改
  • 支持for循环

 练习:信息去重

有如下列表对象:

my_list=['暮霞如烟','念兮','程序员','念兮','程序员','python','best','beautiful','python']

请:

1.定义一个空集合

2.通过for循环遍历列表

3.在for循环中将列表的元素添加至集合

4.最终得到元素去重后的集合对象,并打印输出

# 定义一个列表
my_list = ['暮霞如烟','念兮','程序员','念兮','程序员','python','best','beautiful','python']
print(f"列表:{my_list}")

# 定义一个空集合
my_set = set()
for element in my_list:
    my_set.add(element)

print(f"存入集合后结果:{my_set}")

 运行:

 dict字典

# 定义字典字面量

{key: value, key:value, ……,key:value}

# 定义字典变量

my_dict = {key: value, key:value, ……,key:value}

# 定义空字典

my_dict = {} #方式1

my_dict = dict{} #方式2

 

字典数据的获取

同集合一样,不可以使用下标索引

语法:字典[key]可以取到对应的value

 字典的key和value可以是任意数据类型(key不可为字典)

 

字典常用操作

新增元素

语法:字典[Key]=Value 结果:字典被修改,新增了元素

更新元素

语法:字典[Key]=Value 结果:字典被修改,元素被更新

注意:字典Key不可以重复,所以对已存在的Key执行上述操作,就是更新Value值

删除元素

语法:字典.pop(Key) 结果:获得指定Key的Value,同时字典被修改,指定Key的数据被删除

清空字典

语法:字典.clear() 结果:字典被修改,元素被清空

获取全部的Key

语法:字典.keys() 结果:得到字典中的全部Key

统计字典内元素数量

语法:len(字典)

 练习:升职加薪

有如下员工信息,请使用字典完成数据的记录。

并通过for循环,对所有级别为1级的员工,级别上升1级,薪水增加1000元

 

 

 

# 用字典完成数据的记录
staff_dict = {
    '小兰花':{
        '部门':'科技部',
        '工资': 3000,
        '级别': 1
    },
    '东方青苍':{
        '部门':'市场部',
        '工资': 5000,
        '级别': 2
    },
    '长珩':{
        '部门':'市场部',
        '工资': 7000,
        '级别': 3
    },
    '赤地女子':{
        '部门':'科技部',
        '工资': 4000,
        '级别': 1
    },
    '荣昊':{
        '部门':'市场部',
        '工资': 6000,
        '级别': 2
    }
}
print(f"全体员工当前信息如下:{staff_dict}")

# for循环遍历字典
keys = staff_dict.keys()
for name in keys:
    level = staff_dict[name]['级别']
    if level == 1:
        # 升职加薪操作
        staff_dict[name]['级别'] = 2          #级别+1
        staff_dict[name]['工资'] += 1000      #工资+1000
print(f"全体员工级别为1的员工完成升值加薪操作,操作后:{staff_dict}")

运行:

 数据容器小总结

 

 

数据容器通用功能

遍历 通用for循环

len(容器) 元素个数

max(容器) 最大元素

min(容器) 最小元素

list(容器) 将给定容器转换为列表

str(容器) 将给定容器转换为字符串

tuple(容器) 将给定容器转换为元组

set(容器) 将给定容器转换为集合

sorted(容器,[reverse=True]) 将给定容器进行排序(reverse=True表示降序)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值