首页 > 编程语言 >python中的字典和集合

python中的字典和集合

时间:2022-11-25 23:23:48浏览次数:38  
标签:小明 set python print dict 集合 data 字典

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)

 

 

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

 

 (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)

 

 (4)update()

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

 

 (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)

 

 

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)

 

 

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)

 

标签:小明,set,python,print,dict,集合,data,字典
From: https://www.cnblogs.com/qc2012/p/16926644.html

相关文章

  • UG二次开发NXOpen-Python(十二) 通过命令行运行程序
    因为各种原因,有时候,我们不希望在UG程序界面通过人机交互来执行二次开发程序,我们希望可以在后台运行程序,例如我们自己做了一个UI界面,想通过点按钮生成一些部件文件。比如说......
  • python grpc
    pythonrpc进入examples/python/route_guide,运行:pipinstallgrpcio-toolspython-mgrpc_tools.protoc-I../../protos--python_out=.--pyi_out=.--grpc_python_out......
  • PSO 算法的变体python实现
    上演化计算课的时候老师让我们实现EOPSO算法(一种精英反向的粒子群优化算法),下面是他的算法步骤: 首先我们需要知道一些基础知识:(1)基础PSO算法 (2)精英反向解 impo......
  • Python: 50个能够满足所有需要的模块
    Python具有强大的扩展能力,我列出了50个很棒的Python模块,包含几乎所有的需要:比如Databases,GUIs,Images,Sound,OSinteraction,Web,以及其他。推荐收藏。  Graphicalint......
  • 学习python-Day93
    bs4搜索文档树rombs4importBeautifulSouphtml_doc="""<html><head><title>TheDormouse'sstory</title></head><body><pid="myp"class="title">asdfasdf<b......
  • 集合
    集合集合概述数组其实就是一个集合。集合实际上就是一个容器。可以来容纳其它类型的数据。集合为什么说在开发中使用较多?集合是一个容器,是一个载体,可以一次容纳多个对......
  • Python---open()函数
    """文件和文件夹:open(file,mode,encoding)--->file:可以是相对路径,也可以是绝对路径--->编码格式--->模式:r/rb:只读模式,默认可不写......
  • [NEFU]Python应用课程 PPT速记
    Python为了应试,被迫背单词。个人认为这种玩意,就该开卷考,然后丢你个实际点的题目让你做。Numpy代码含义importnumpyasnp导入numpy库a1=np.array([1,2,3,4,5,6])参数为列表......
  • [Python]numpy数据分析练习[21~30]
    [Python]numpy数据分析练习[21~40]​​题目和解析地址​​此博客主要用于自己做些知识点笔记题目和答案21.如何在numpy数组中只打印小数点后三位?只打印或显示numpy数组ran......
  • [NEFU ACM大一暑假集训 解题报告]字典树
    [NEFUACM大一暑假集训解题报告]字典树题目A-L语言多模式匹配,AC自动机建立Trie图。不过这个题数据量很小,貌似可以暴力建立跳转关系,加上标记处理即可。对于样例的AC自动......