python中的字典和集合

1.字典

# 基础数据类型
# bool int float str list tuple dict set
# list dict set 可变数据类型
# bool int float str tuple 不可变数据类型


# 1.字典 dict
# dict_data={key: value, key1: value1}
# 1,符号以大括号表示
# 2,数据是以键值对出现的 键值中间用冒号连接
# 3,key的值必须是不可变类型,key是唯一的
print('1.字典')

# 定义一个空字典
dict_data = {}
print(dict_data)
print(type(dict_data))

# 定义一个有数据的字典
# key是不可变数据类型
# value可以是任何数据类型
# key值重复时,后面的键值对会覆盖前面的键值对
dict_data = {'小明': 20, '小明': 18}
print(dict_data)

# 字典是没有索引的 无序的
# 因为没有索引,所以才没有顺序
# 字典可以根据key获取value
dict_data = {'小明': 20, '小芳': {'age': 18, 'gender': ''}}
print(dict_data['小芳'])

# 2.字典增加数据
print()
print('2.字典增加数据')
dict_data = {'小明': 20}
dict_data['小芳'] = 18
print(dict_data)


# 3.字典修改数据
# 原理:相当于增加数据,但是key值重复
# key值重复时,后面的键值对会覆盖前面的键值对
print()
print('3.字典修改数据')
dict_data = {'小明': 20}
dict_data['小明'] = {'age': 18, 'gender': ''}
print(dict_data)

# 增加与修改的区分
# 当数据不存在就增加 当数据存在就是修改


# 4.字典删除数据
print()
print('4.字典删除数据')
dict_data = {'小明': 20}
del dict_data['小明']
print(dict_data)

python中的字典和集合

 

 

2.字典的操作方法

(1)压缩和解包

# 压缩
# 当多个数据赋值给一个变量时,会默认为元组
# 压缩多个数据到一个变量里面,以元组的形式存储
print()
print('压缩和解包')
a = 'name', 18  # 元组
print(a)  # ('name', 18)
# 解包
name, age = a
print(name, age)  # 解包

(2)get()

# get(key,None)
# 获取一个数据,如果存在就返回对应的value 不存在就返回None
# None 是可以改变的,当不存在是返回这个位置的数据,默认为None
print()
print('get()')
dict_data = {'小明': 20}
print(dict_data.get('小明'))  # 20
print(dict_data.get('666'))  # None
print(dict_data.get('666', False))  # False
print(dict_data.get('666', 555))  # 555

python中的字典和集合

 

 (3)pop()和popitem()

# pop()
# 删除指定key的数据
print()
print('pop()')
dict_data = {'小明': 20}
dict_data.pop('小明')  # 删除指定key的数据
print(dict_data)


# popitem()
# 删除字典的最后一个数据
print()
print('popitem()')
dict_data = {'小刚': 15, '小明': 20, '小芳': 18}
dict_data.popitem()
print(dict_data)

python中的字典和集合

 

 (4)update()

# update(字典)  更新
# 相当于列表的extend()
print()
print('update()')
dict_data = {'小刚': 15, '小明': 20}
dict_data.update({'小芳': 18})  # 小括号里面是字典!
print(dict_data)

python中的字典和集合

 

 (5)keys()  values()  items()

# keys()
# 获取字典中的所有key 并存放到一个dict_keys对象里面
print()
print('keys()')
dict_data = {'小刚': 15, '小明': 20}
print(dict_data.keys())
print(type(dict_data.keys()))
print(list(dict_data.keys()))  # 可以强转为列表

for i in dict_data.keys():
    print(i)


# values()
# 获取字典中的所有value
print()
print('values()')
dict_data = {'小刚': 16, '小明': 20}
print(dict_data.values())
print(type(dict_data.values()))
print(list(dict_data.values()))  # 可以强转为列表

for i in dict_data.values():
    print(i)


# items()
print()
print('items()')
dict_data = {'小刚': 18, '小明': 20}
print(dict_data.items())
print(type(dict_data.items()))
print(list(dict_data.items()))  # 可以强转为列表

for i in dict_data.items():
    print(i)
    print(list(i))  # 强转为列表

for i in dict_data.items():
    print(i[0], i[1])

for name, age in dict_data.items():  # 解包
    print(name, age)

python中的字典和集合

 

 

3.集合

# 集合 set
# set_data = {数据,数据,数据,...}
# 集合是无序的,唯一的(数据不能重复)
# 集合没有索引和key

# '' [] {} ()  定义空的数据
# str() list() dict() tuple()
# 定义一个空的集合
set_data = set()
print(type(set_data))
print(set_data)

# 无序的
print()
set_data1 = {100, 200, 300}
print(set_data1)  # 是无序的!

# 唯一的
# 可以去除重复的数据
print()
set_data = {1, 2, 3, 4}
print(set_data)  # {1, 2, 3, 4}
set_data = {1, 2, 3, 4, 4}
print(set_data)  # {1, 2, 3, 4} 和上一个一样

# add() 增加数据
print()
set_data = {1, 2, 3, 4}
set_data.add(100)
print(set_data)

# remove() 删除数据
print()
set_data = {1, 2, 3, 4}
set_data.remove(2)  # 删除数据2
print(set_data)

python中的字典和集合

 

 

4.今日作业

# 今日作业
"""
本次考试张三59分,李四80,
王五99分,小宋56分,
请使用字典来表达此数据结构,
并筛选出来不及格的同学及分数
"""
print('今日作业')
name_score = {'张三': 59, '李四': 80,
              '王五': 99, '小宋': 56}  # 创建字典存储数据
for name, score in name_score.items():  # 解包
    if score < 60:  # 判断是否不及格
        print(name, score)

python中的字典和集合

 

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

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

相关文章

  • python函数入门

    1.函数的作用 # sum() max() min() len() type() # 使用函数都需要加一个括号 # 有自己的功能 # ‘a’.replace() # 称为方法 点出来的有括号的称为方法 # a.name # 称为属性 # sum() # 是函数 # 不加括号时,sum代表的是整个函数 # 加了括号时,sum()代表的是使用函数 # 1.函数的…

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

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

    2023年4月2日
    00
  • python函数进阶

    # 1.函数的作用域 # 全局变量的作用域: # 一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为局部变量。 # 全局变量所有作用域都可用,局部变量只能在本函数可用,变 # 量的使用顺序是,局部变量 > 全局变量, 也就是说:优先使用局部变量 # # global关键字: # 为了解决函数内使用全局变量的问题, # python增加了gl…

    2023年4月2日
    00
  • python中的函数(1)

      # 1.函数 # 函数就是将一段具有独特功能的代码段整合到一个整体并命名 # 在需要的位置调用这个名称即可完成对应的需求 # 函数的作用:封装代码(方便管理),实现代码重用 print(‘1.函数作用’) name_list = [‘小明’, ‘小刚’] # 列表 print(len(name_list)) # 长度为2 print() name_lis…

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

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

    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中的高阶函数

    1.匿名函数 # lambda表达式 # 匿名函数 # 没有名字的函数 相当于 # 优点:节省内存空间 优化代码 # def add(a, b): # return a+b def add(a, b): return a + b # 当函数里面的代码只有一行的时候可以这样写! print(add(1, 2)) # 但函数里面的代码只有一行,可以转换为匿名函数…

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

    1.range # 1.range(起始值,结束值,步长) # 范围 区间 # 步长不写时默认是1 # 当里面只有一个数据的时候,默认是0-结束值 # 当里面有两个数据的时候,是 起始值-结束值 print(‘1.range()’) print(range(5, 9, 1)) print(type(range(9)))       2. for循环 # 2.…

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