python数据类型之三
字典
字典的基本结构
- # 字典, 键值对 dict类
# 字典的基本结构
# 字典的值可以是任何值
# 字典的键不能是列表,字典, 最好也不要用布尔值(可能会和1和0重复)
# 字典无序,
- my_dict = {
- "k1": "v1", # 键值对
- "k2": "v2",
- "k3": 12,
- "k4": [
- 1, 2,
- [],
- (),
- {
- "kk1": 11,
- "kk2": 12,
- }
- ],
- (1, 2, 3): "数字"
- }
- print(my_dict)
索引找到指定元素 提取v1, 11
- v = my_dict["k1"]
- v2 = my_dict['k4'][4]["kk1"]
- print(v, v2)
- # 字典支持del删除
- del my_dict["k2"]
遍历字典
- # 默认遍历key, 这里显示的是 所有的key
- # 等价于 in my_dict.keys(), 同样也有 in my_dict.values()
- for item in my_dict:
- print(item)
- for item in my_dict:
- print(item, my_dict[item])
- # 遍历字典二
- for key, value in my_dict.items():
- print(key, value)
- dic = {
- "k1": 'v1',
- "k2": 'v2',
遍历字典的常用函数 kyes(), values(), items(), update(),get()
- # def update(self, E=None, **F)
- # 更新字典, 有的 改变, 没有的自动添加
- dic.update({'k2':1234, 'k10':10})
- print(dic)
- # 根据key获取值,当key不存在时可以指定默认值,默认值不存在时(None)
- # def get(self, k, d=None)
- # my_dict.get('k1')
- keys(), values(), items()参考上面的遍历字典
字典的其他函数
- # def clear(self)
- # def copy(self)
- # @staticmethod # known case 静态方法, 可以直接用dict调用
- # def fromkeys(*args, **kwargs)
- # 根据序列,创建字典 以你个的参数作为键值对
- v = dict.fromkeys([1,2,3], [4,5])
- print(v)
- # def setdefault(self, k, d=None)
- # 设置值, 如果key不存在, 就添加,('k5':12) 存在就不变
- dic.setdefault('k5', 12)
- print(dic)
集合 set
集合的基本结构
- 集合:可以包含多个元素,用逗号分割,
- 集合的元素遵循三个原则:
- 1:每个元素必须是不可变类型(可hash,可作为字典的key)
- 2:没有重复的元素
- 3:无序
- 注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
- # 不同元素组成, 无序, 集合中必须是不可变类型,(int, str, 元组)
- #优先掌握的操作:
- #1、长度len
- #2、成员运算in和not in
- #3、|合集
- #4、&交集
- #5、-差集
- #6、^对称差集
- #7、==
- #8、父集:>,>=
#9、子集:<,<=
- s = {1, 2, 3, 4, 5}
- print(s)
- # set
- s = set('')
- print(s)
- s = set(['haha', 'heihi', 'heng'])
- print(s)
集合的基本操作
- # 添加一个元素
- # def add(self, *args, **kwargs)
- s.add(('', 'heihi', 'ni'))
- print(s)
- # 清空
- # def clear(self, *args, **kwargs)
- # 浅拷贝
- # def copy(self, *args, **kwargs):
- # pop随机删除, remove删除指定的, remove如果删除的元素不存在 就回报错
- # def pop(self, *args, **kwargs)
- # s.pop()
- # s.remove('123')
- # def remove(self, *args, **kwargs)
- # 删除一个元素, 如果元素不存在 也不报错
- # def discard(self, *args, **kwargs)
集合的并交差运算
- # 集合运算,并交差
- p = ['a', 'b', 'c', 'd']
- l = ['a', 'c', 'e']
- p_s = set(p)
- l_s = set(l)
- # 求交集s1&s2
- # def intersection(self, *args, **kwargs)
- print(p_s.intersection(l_s))
- print(p_s & l_s)
- # 求差集 def difference(self, *args, **kwargs)
- # p_s 中有而 l_s没有的
- print(p_s.difference(l_s))
- print(p_s - l_s)
- # 求并集
- print(p_s.union(l_s))
- print(p_s | l_s)
- # 求交叉补集
- print(p_s.symmetric_difference(l_s))
- print(p_s ^ l_s)
- # 补充
- # p_s.difference_update(l_s)
- # 等价于
- # p_s = p_s - l_s
- # 判断子集, 也有>= isup
- print(p_s.issubset(l_s))
- print(p_s <= l_s)
利用集合去重
- # 简单去重操作
- my_list = [1, 2, 3, 'a', 'b', 1, 2, 'a']
- # m_s = set(my_list)
- my_list = list(set(my_list))
基本数据类型常用方法总结
- # 常用数据类型的方法
# int 常用 int()
# 字符串
# find/replace/join/strip/startwith/split/upper/lower/format(in)
# 列表
# append/extend/insert, 索引,切片,循环(in)
# 元组
# 忽略, 但是要知道 索引,切片,循环, 一级元素 不可以修改(in)
# 字典
# get/update/keys/values/items, 循环,索引, (in)
# 判断是否存在,dic可以是字典,列表,字符串,元组
# v = 'aa'in dic- # 布尔值
# bool()
# 其中为空的有None, '', (),[],{},0 ==>False
python数据类型之三的更多相关文章
- python 数据类型---布尔型& 字符串
python数据类型-----布尔型 真或假=>1或0 >>> 1==True True >>> 0==False True python 数据类型----- ...
- Python 数据类型及其用法
本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...
- day01-day04总结- Python 数据类型及其用法
Python 数据类型及其用法: 本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点 ...
- Python数据类型及其方法详解
Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...
- Python学习笔记(五)--Python数据类型-数字及字符串
Python数据类型:123和'123'一样吗?>>> 123=='123'False>>> type(123)<type 'int'>>> ...
- python数据类型之元组、字典、集合
python数据类型元组.字典.集合 元组 python的元组与列表类似,不同的是元组是不可变的数据类型.元组使用小括号,列表使用方括号.当元组里只有一个元素是必须要加逗号: >>> ...
- 1 Python数据类型--
常见的Python数据类型: (1)数值类型:就是平时处理的数字(整数.浮点数) (2)序列类型:有一系列的对象并排或者排列的情况.如字符串(str),列表(list),元组(tuple)等 (3)集 ...
- Python数据类型和数据操作
python数据类型有:int,float,string,boolean类型.其中string类型是不可变变量,用string定义的变量称为不可变变量,该变量的值不能修改. 下面介绍python中的l ...
- Python数据类型(python3)
Python数据类型(python3) 基础数据类型 整型 <class 'int'> 带符号的,根据机器字长32位和64位表示的范围不相同,分别是: -2^31 - 2^31-1 和 - ...
随机推荐
- Linux性能优化实战学习笔记:第三十七讲
一.上节回顾 上一节,我带你一起学习了网络性能的评估方法.简单回顾一下,Linux 网络基于 TCP/IP协议栈构建,而在协议栈的不同层,我们所关注的网络性能也不尽相同. 在应用层,我们关注的是应用程 ...
- idea找不到tomcat,找不到Tomcat server
打开settings 添加即可 如果再没有,可能需要先安装timcat插件
- Visual Studio 调试系列4 单步后退来检查旧应用状态(使用使用 IntelliTrace 窗口)
系列目录 [已更新最新开发文章,点击查看详细] IntelliTrace 后退会在每个断点处及调试器步骤事件发生时自动拍摄应用程序的快照. 凭借记录的快照便可以返回到上一个断点或步骤,并查看当 ...
- netcat 传输T级别大文件
接收端 nc -d -l 5002 |tar xf - nohup sh receive.sh & 发送端 tar cf - . | nc 1.1.1.1 5002 nohup ...
- Kubernetes 学习(十)Kubernetes 容器持久化存储
0. 前言 最近在学习张磊老师的 深入剖析Kubernetes 系列课程,最近学到了 Kubernetes 容器持久化存储部分 现对这一部分的相关学习和体会做一下整理,内容参考 深入剖析Kuberne ...
- WebSocket的简单认识&SpringBoot整合websocket
1. 什么是WebSocket?菜鸟对websocket的解释如下 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务 ...
- sql server删除重复记录只保留一条
今天遇到一个历史导入数据重复的问题,于是要删除重复的记录,一开始想用子查询的方式找到要删除记录的id删除,后来发现DELETE语句可以直接用外连接,这样更加简单,效率也更高. delete sys_p ...
- Java中List集合去除重复数据的六种方法
1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list. ...
- Scala Types 2
存在类型 形式: forSome { type ... } 或 forSome { val ... } 主要为了兼容 Java 的通配符 示例 Array[_] // 等价于 Array[T] for ...
- spring-session(一)揭秘续篇
上一篇文章中介绍了Spring-Session的核心原理,Filter,Session,Repository等等,传送门:spring-session(一)揭秘. 这篇继上一篇的原理逐渐深入Sprin ...