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

python中的字典和集合

时间:2022-11-08 23:25:47浏览次数:45  
标签:set python data print dict 集合 data1 字典

# 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)  # 则打印名字和成绩

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

相关文章

  • python课本学习-第二章
    chapter2编程基础一、基本语法1、注释python注释以\(“#”\)开始多行注释使用三个单引号/双引号作为开始和结束标志2、标识符与关键字python命名时避免使用下划......
  • Servlet的生命周期; Java IO流处理 ; python有点意思; matlab; 为什么要使用构造方法?JavaB
    Servlet的生命周期Servlet的生命周期主要有三个方法:init()初始化阶段service()处理客户端请求阶段destroy()终止阶段pagehelper怎么使用的​​https://pagehelper.github.......
  • 使用Python筛选出两列中的未重复的值,应该怎么操作呢?
    大家好,我是皮皮。一、前言国庆期间在Python最强王者交流群【维哥】问了一个Python自动化办公的问题,提问截图如下:需求澄清:“两列中的未重复的值”指的是两列中只出现一......
  • python3爬取网页图片
    爬取url网页里面所有的图片,把url填上就能用了,下面的自己看着改改进行筛选。importrequestsimportreimporttimeimportrandomimportosdefFind(string):#f......
  • Python乱写
    一.摆放界面首先在“运行”里输入\(sub\),然后运行\(sublime\);Ctrl+N新建一个源代码,\(Tools-Build\)\(System-Python\)调成\(Python\)模式;按住Win+R,输入......
  • python-web自动化控制edge报错selenium.common.exceptions.WebDriverException: Messa
    1、报错图片3、编写测试代码fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromtimeimportsleepif__name__=='__main__':driver=......
  • 《Python数据科学手册》
    《Python数据科学手册》【美】JakeVanderPlas著陶俊杰译Absorbwhatisuseful,discardwhatisnot,and addwhatisuniquelwhatown.(取其精华,去其糟粕,再加点自己......
  • Python入门之第三方模块安装
    Python入门之第三方模块安装平台:Win10x64+Anaconda3-5.3.0(+Python3.7.0) Issue说明:pipinstallline_profiler-2.1.2-cp37-cp37m-win_amd64.whl报错pip版本过低,需要更新......
  • Python 爬虫之lxml
    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、......
  • Python——面向对象(魔法方法、元类)
    Python——面向对象(魔法方法、元类)魔法方法'''魔法方法: 类中定义的双下方法都称为魔法方法 不需要人为调用在特定的条件下回自动触发运行 eg:__init__创建空......