python中的字典和集合

# 1.字典 存储数据 存储一个数据的属性 可以快速进行查找
# dict_data = {key:value,key:value,...}
# key是键
# value是值
# 以大括号表示
# 数据是以键值对出现的 键值对中间用冒号连接
# key的值必须是不可变类型
# 字典和列表和集合是可变类型
print('1.字典')
dict_data = {}  # 创建一个空的字典
print(dict_data)
print(type(dict_data))
dict_data = {'小明': [20, 186], '小芳': 18}
print(dict_data)

# 2.字典的操作 增删查改
print()
print('2.字典的操作,增删查改')

# 2.1 增加
# 字典是没有索引的
# 所以字典内是没有顺序的
# key是不能重复的
print()
print('2.1 增加')
dict_data = {'小明': [20, 186], '小芳': 18}
dict_data['小雨'] = 22  # 无指定的key则增加
print(dict_data)

# 2.2 修改
print()
print('2.2 修改')
dict_data['小芳'] = 66  # 有指定的key则修改
print(dict_data)

# 2.3 删除
print()
print('2.3 删除')
# del clear pop(key)

dict_data1 = {'小明': 20, '小芳': 18, '小刚': 16}
# del dict_data1  # 删除字典
# print(dict_data1)  # 会报错,显示变量dict_data1没定义
# del dict_data1['小明1']  # 删除字典中没有的数据会报错
# print(dict_data1)
del dict_data1['小明']  # 删除指定的数据
print(dict_data1)

dict_data1.clear()  # 清空字典
print(dict_data1)

dict_data1 = {'小明': 20, '小芳': 18, '小刚': 16}
print(dict_data1.pop('小明'))  # 返回被删除key所对应的value
print(dict_data1)

dict_data1 = {'小明': 20, '小芳': 18, '小刚': 16}
dict_data1.popitem()  # 默认删除最后一个
print(dict_data1)

# 2.4 查看
# key keys values items
print()
print('2.4 查看')
dict_data1 = {'小明': 20, '小芳': 18, '小刚': 16}
print(dict_data1['小芳'])  # key

print(dict_data1.get('小芳666'))  # 找到则返回value,没找到则返回None

print(dict_data1.setdefault('小李', 222))  # 找到则返回value,没找到则返回本行的222同时将数据加入到字典中
print(dict_data1)  # 输出可以看到加入了上一行的数据

dict_data1 = {'小明': 20, '小芳': 18, '小刚': 16}
print(dict_data1.keys())  # 返回字典中的所有key  返回的是一个序列
print(list(dict_data1.keys()))  # 强转为列表
print(tuple(dict_data1.keys()))  # 强转为元组

dict_data1 = {'小明': 20, '小芳': 18, '小刚': 16}
print(dict_data1.values())  # 返回字典中的所有value  返回的是一个序列
print(type(dict_data1.values()))

print(dict_data1.items())  # 返回字典中的key和value 返回的是序列

# 3.字典的遍历循环
print()
print('3.字典的便利循环')
dict_data1 = {'小明': 20, '小芳': 18, '小刚': 16}
for i in dict_data1.keys():  # 输出每一个key
    print(i)
print()

for i in dict_data1.values():  # 输出每一个values
    print(i)
print()

for i in dict_data1.items():
    print(i)  # 输出的是元组
    print(i[0], i[1])
print()

for key, value in dict_data1.items():  # 拆包写法
    print(key, value)

# 4.集合 set
# 没有索引 没有顺序 数据不能重复!
# {数据1,数据2,数据3... }
print()
print('4.集合')
set_data = {}  # 这是一个空的字典
print(type(set_data))
set_data = set()  # 创建一个空的集合
print(type(set_data))

set_data = {1, 2, 3, 4}
print(set_data)
print(type(set_data))

set_data1 = {1, 2, 3, 4, 6, 2, 1, 1, 3, }  # 集合可以去重复
print(set_data1)

# 5.集合的查找
# in
# not in
print()
print('5.集合的查找')
set_data = {1, 2, 3, 4}
print(1 in set_data)
print(2 not in set_data)

# 6.集合的增加
# add()
# update
print()
print('6.集合的增加')
set_data = {1, 2, 3, 4}
set_data.add(0)  # 添加的数据必须是一个不可变类型
set_data.add(1)  # 重复的不会加入
print(set_data)

set_data = {1, 2, 3, 4}
set_data.update([0, 1, 2, 3, 4, 5, 6])  # 拆开增加
print(set_data)

# 7.集合的删除
# remove
# discard
print()
print('7.集合的删除')
data = {200, 100, 300}
data.remove(200)  # 有这个数据就是删除,没有就报错
print(data)

data = {200, 100, 300}
data.discard(201)  # 有这个数据就删除,没有就跳过
print(data)

# 今日练习
'''
今天进行了数学考试,
本次考试中小明58分,小芳80分,小刚99分,小雨46分
(1)请用字典来表达此数据结构
(2)筛选出不及格的同学并且打印他的名称和份数
'''
print()
print('今日练习')
name_score = {'小明': 58, '小芳': 80, '小刚': 99, '小雨': 46}  # 使用字典存储学生姓名和成绩
for name, score in name_score.items():  # 拆包写法
    if score < 60:  # 如果成绩不及格
        print(name, score)  # 则打印名字和成绩

python中的字典和集合

python中的字典和集合

python中的字典和集合

python中的字典和集合

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中的字典和集合 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • python中的函数进阶

    1.局部变量和全局变量 在函数外定义的不可变数据类型,在函数里面是可读不可写在函数外定义的可变数据类型,在函数里面可读可操作不可修改不可变类型传入函数,进行的操作不会影响到外面的变量但是当我们声明一个变量为全局变量后,进行的操作会影响到函数外的变量 可变数据类型,传入和直接使用都会改变原本的数据不可变数据类型 直接使用是可读不可写的 传入后的操作不会对函数外…

    2023年4月2日
    00
  • python中的公共操作与列表推导式

    1.公共操作 # + 合并 将两个相同类型序列进行连接 字符串、 列表、元组 l1 = [1, 2, 3] l2 = [4, 5, 6] print(l1+l2) # [1, 2, 3, 4, 5, 6]     # * 复制 将里面的数据进行复制 字符串、列表、元组 l1 = [1, 2, 3] print(l1 * 3) # [1, 2, 3, 1, 2…

    2023年4月2日
    00
  • python中的列表和元组

    # 1.列表的格式 # [数据1,数据2,数据3,···] # 列表 可变数据类型 # 列表可以存储多个数据,数据之间的逗号以英文逗号分隔 # 列表可以存储不同类型数据,但一般存储同一数据类型,这样便于操作 # list_name = [] # 定义了一个空的列表 # 定义了一个有数据的列表 # 可以去索引和切片 print(‘1.列表的格式’) list_…

    2023年4月2日
    00
  • python中的高阶函数

    1.匿名函数 # 1.匿名函数lambda # 简化代码 减少占用的内存 print(‘1.匿名函数lambda’) def func(): print(10) func() func = lambda: print(10) # 出现警告的原因是: # 因为你把lambda表达式赋给了另一个变量。 # 但lambda表达式本就是一个匿名的函数, # PEP8…

    2023年4月2日
    00
  • python实现简单的商品数据管理系统

    # 一个商品 名称 价格 库存 总销量 # 存放商品的数据类型 str set list tuple dict # 综合考虑,选择字典 dict_data = {} # {名称: {price: 价格, inventory: 库存, sales: 总销量}} def exist_goods(goods_name): # 有无keys都行应该是 “””判断商品…

    2023年4月2日
    00
  • python中的while循环

    1.while循环 “”” while 条件: 执行语句1··· 执行语句2·· “”” # while 1+1 == 2: # print(‘666’) # 计数器 叫法 代表一个功能 # i = 0 # 定义一个临时变量 记录循环次数 # while 1 + 1 == 2: # i += 1 # 循环次数+1 自增1 # print(‘我帅’, i) i…

    2023年4月2日
    00
  • python中的字符串操作

    # 1.索引(下标) print(‘1.索引’) str_data = ‘Python’ # [索引(下标)]取索引的格式 # 正负索引 # 获取单个数据 sub_str = str_data[4] print(sub_str) sub_str = str_data[-2] print(sub_str)     # 2.字符串切片 # 取单个数据用索引 # …

    2023年4月2日
    00
  • python中的面向对象

    # 面向对象是非常重要的! # 抽象,是个思想,结构 # 小明 小红 小雨 都是人 # 海尔洗衣机 海东洗衣机 海西洗衣机 都是洗衣机 # 猫 狗 熊猫 都是动物 # 蓝图 # # class WashingMachine: # 类名一般是大驼峰 # pass # # 特征是属性 # age = 20 # # 行为是方法 # def # 先有类,后有对象 #…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部