Python基础(4)_字典、集合、bool值
三、字典
定义:{key1:value1,key2:value2},key-value结构,key必须是不可变类型,或者可hash
基本形式:key:value
特性:
1.可存放多个值
2.可修改指定key对应的值,可变
3.无序
字典的创建:
person = {"name": "sb", 'age': 18} 或 person = dict(name='sb', age=18)
person = dict({"name": "sb", 'age': 18})
person = dict((['name','sb'],['age',18]))
{}.fromkeys(seq,100) #不指定100默认为None
注意:
>>> dic={}.fromkeys(['k1','k2'],[])
>>> dic
{'k1': [], 'k2': []}
>>> dic['k1'].append(1)
>>> dic
{'k1': [1], 'k2': [1]}
字典常见操作函数:

#新增或更改
d={}
d['x']=1
print(d) #删除
d.pop('x') #pop删除,可返回values值
d.popitem() #随机删除键值对,删除的值为元组 #键、值、键值对
d.keys()
d.values()
d.items() #循环
d={'x':1,'u':2}
for k in d:
print (k,d[k]) #长度
d={'x':1,'u':2}
print(len(d)) #成员运算
d={'x':1,'u':2} print('x' in d)
print(1 in d.values())
键值对转化为元祖:

取字典key值

取字典values

setdefault 只能添加没有的key值

update 更新字典,有key值覆盖,没有追加,原字典不变

四、集合
集合的作用
一:关系运算
二:去重
定义集合:
集合内的元素必须是唯一的;
集合内的元素必须是可hash的,也是就不可变类型;
集合是无序的
s={'egon',123,'egon','1'} #s=set({'egon',123,'egon','1'} )
# print(s,type(s))
循环:
# s={'1',1,(1,2),'a','b'}
#
# for i in s:
# print(i)
关系运算:
#关系运算
python_s={'egon','alex','钢蛋','老王'}
linux_s={'alex','钢蛋','欧德博爱','艾里科四'} #取共同部分:交集
# print(python_s & linux_s) # #取老男孩所有报名学习的学生:并集
# print(python_s | linux_s) # #取只报名了python课程的学生:差集
# print(python_s - linux_s) #取只报名了linux课程的学生:差集
# print(linux_s - python_s) #取没有同时报名python和linux课程的学:对称差集
# print(linux_s ^ python_s)
集合方法:
# python_s={'egon','alex','钢蛋','老王'}
# linux_s={'alex','钢蛋','欧德博爱','艾里科四'}
# print(python_s.intersection(linux_s))# 交集:python_s & linux_s
# print(python_s.union(linux_s))#并集:|
# print(python_s.difference(linux_s)) #python_s-linux_s
# print(python_s.symmetric_difference(linux_s))# 对称差集,python_s ^ linux_s
运行结果:
# python_s={'egon','alex','钢蛋','老王'}
# linux_s={'alex','钢蛋','欧德博爱','艾里科四'}
# python_s.difference_update(linux_s)
# print(python_s)
update 追加覆盖,无返回值

add 追加,无返回值

diacard删除,以元素名删除,没有,不报错

remove 删除,没有报错

pop 随机删除,没有参数

issubset 判断s1是否是s2的子集

issuperset 判断s1是否是s2的父集

isdiajoint() 判断是否有交集,没有交集返回 True
总结:
1.可变不可变
可变:列表,字典
不可变:数字,字符串,元组
2.存放值的个数
一个值:数字,字符串
多个值(容器类型):列表,元组,字典
3.取值方式
直接取值:数字
序列类型:字符串,元组,列表
映射类型:字典
六、bool值
所有的数据类型自带布尔值,只有0,None,空的布尔值为False
while 1:
cmd=input('>>: ')
if not cmd:
continue
print('========>cmd',cmd)
Python基础(4)_字典、集合、bool值的更多相关文章
- Python基础2 列表 字典 集合
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- 『Python基础-10』字典
# 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...
- Python基础知识(五)------字典
Python基础知识(四)------字典 字典 一丶什么是字典 dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔 键: 必须是可哈希,(不可变的数据类型 ...
- Python基础-列表_元组_字典_集合
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- Python之路-基础数据类型之字典 集合
字典的定义-dict 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成,字典是无序的,key是不可修改的.dic = {1:'好',2:'美',3:'啊'} 字典的操 ...
- Python基础数据类型之字典
基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- python基础一数据类型之集合
摘要: python基础一中介绍数据类型的时候有集合,所以这篇主要讲集合. 1,集合的定义 2,集合的功能 3,集合的方法 1,集合的定义 list1 = [1,4,5,7,3,6,7,9] set1 ...
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- Python 基础学习之字典
1.基础代码 ##第六章 字典学习 test={'} print(test['a']) print(test['b']) 返回结果为: black123 2.基础知识: Python中的字典是一系列键 ...
随机推荐
- Win10系统如何关闭"启用病毒防护""启用Windows防火墙"提示?
Win10系统如何关闭"启用病毒防护""启用Windows防火墙"提示? 目前已经有不少有用户升级到了win10正式版系统,不过有一些原win7/win8. ...
- lodash 数组裁剪 drop
_.drop(array, [n=1]) 裁剪数组中的前 N 个数组,返回剩余的部分. <!DOCTYPE html> <html lang="zh"> & ...
- SVN遇到Can't convert string from 'UTF-8' to native encoding(转)
svn: Can't convert string from 'UTF-8' to native encoding: svn: platform/console-framework/portal/im ...
- HDU1789 Doing Homework again 【贪心】
Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- 并发编程概述 委托(delegate) 事件(event) .net core 2.0 event bus 一个简单的基于内存事件总线实现 .net core 基于NPOI 的excel导出类,支持自定义导出哪些字段 基于Ace Admin 的菜单栏实现 第五节:SignalR大杂烩(与MVC融合、全局的几个配置、跨域的应用、C/S程序充当Client和Server)
并发编程概述 前言 说实话,在我软件开发的头两年几乎不考虑并发编程,请求与响应把业务逻辑尽快完成一个星期的任务能两天完成绝不拖三天(剩下时间各种浪),根本不会考虑性能问题(能接受范围内).但随着工 ...
- 闪屏(Splash)
好久没弄ReactNative了, 写个怎样实现闪屏(Splash)的文章吧. 注意: (1) 怎样切换页面. (2) 怎样使用计时器TimerMixin. (3) 怎样使用动画效果. (4) 怎样载 ...
- ”非常危险“的Linux命令
Linux命令是一种很有趣且有用的东西,但在你不知道会带来什么后果的时候,它又会显得非常危险.所以,在输入某些命令前,请多多检查再敲回车. rm –rf rm –rf是删除文件夹和里面附带内容的一种最 ...
- Springboot Maven 多模块项目中 @Service跨模块引用失败的问题
子模块中引用另一个子模块中的Service, @Autowired失败. 添加了模块之间的依赖没解决. 组以后在启动类上加上 @SpringBootApplication(scanBasePackag ...
- 各种类型的电影排行榜-movie路线
[最费脑力的14部电影]<盗梦空间>.<记忆裂痕>.<生死停留>.<死亡幻觉>.<禁闭岛>.<穆赫兰道>.<蝴蝶效应> ...
- Servlet和JSP中的过滤器都是Java类
JSP 过滤器 Servlet和JSP中的过滤器都是Java类,它们存在的目的如下: 在请求访问后端资源时拦截它 管理从服务器返回给客户端的响应 下面列出了多种常用的过滤器类型: 认证过滤器 数据压缩 ...