目录

1.1 散列类型(哈希类型)

1.2 集合 set

1.2.1 概念

1.2.2 性质

1.2.3 运算

1.2.4 方法

1.3 字典 dict

1.3.1 概念

1.3.2 性质

1.3.3 方法

2.1 格式化输出

2.1.1 %方法(占位符)

2.1.2 format()方法

2.1.3 f-format()

3.1 小练习

4.1 解析


1.1 散列类型(哈希类型)

数值类型:int,float,bool   -> 存储一个数值
序列类型:str,list,tuple   -> 存储多个数据
散列类型:1.无序   【散列类型没有下标】2.内部元素不重复

1.2 集合 set

1.2.1 概念

集合(set) -> 负责存储【不重复的数据】,并且是【无序存储】的容器,主要用来去重和逻辑比较

1.2.2 性质

唯一性:元素唯一存在,不能重复

可变性:同列表一样。集合可以通过它的一些方法进行修改操作

无序性:无下标,无顺序

set1 = {1, 2, 3, 4, 1, 2, 6, 5, 7, 7, 7, 9, 8, 2, 8}
print(set1)  # 正常输出一个集合,里面的数据默认去重
# print(set1[0]) # 散列类型无序,不可以通过下标提取元素,报错
print(type(set1))语法:集合名 = {数据1,数据2,数据3.....} # 如果有重复的,是不会被添加到内存空间里面ps:创建空集合的时候必须使用set() 而不能直接{} ,{}默认是空字典
li1 = [] # 空列表
tu1 = () # 空元组
str1 = "" # 空字符串
dict1 = {} # 空字典
set1 = set() # 空集合集合的基本操作 --》去重
li = [1, 2, 3, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9]
# 快速写法
li =  list(set(li))

1.2.3 运算

运算操作 Python运算符 含义
交集 & 取两集合公共的元素
并集 | 取两集合全部的元素
差集 - 取一个集合中另一集合没有的元素
成员运算 in 和 not in 判断一个某个元素是否在或者不在集合中
集合1 & 集合2 --> 判断交集  (shift+7)
集合1 | 集合2 --> 判断并集   (shift + \)
集合1 - 集合2 --> 判断差集交集:两个集合里面共同拥有的数据
并集:两个集合里面的全部数据(不包括重复数据)
差集:差集1 - 差集2 减去共有部分,剩下的就是差集【去掉交集之后就是差集】# & 交集  取两个集合的公共元素
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 & set2)  # 获取公共部分# | 并集,取两个集合的全部元素,结果会去重
print(set1 | set2)# - 差集
print(set1 - set2)- 小练习
碗A {炸鸡,青菜,小龙虾}
碗B {臭豆腐,青菜,螃蟹}
交集:两个碗里面都有的菜,就是交集  =》 青菜
并集:两个碗里面的菜种类加在一起,就是并集 =》炸鸡,青菜,小龙虾,臭豆腐,螃蟹
差集:将和另一个碗共有的菜减掉碗A - 碗B ==>  炸鸡,小龙虾碗B - 碗A ==>  臭豆腐,螃蟹注意:集合不能放列表集合的作用:1.存储非重复数据2.用于将序列类型去重,逻辑判断(交并差)

1.2.4 方法

集合的方法都是作用效果于原集合

- add() : 参数为要添加的对象,通过多次添加数据可以发现添加后的元素位置不确定- update() : 参数为序列类型,会将每一个元素拆分后随机添加集合中s = {"华为"}
s.add('小米') # add 是往前面添加
print(s)
s.add("苹果")
print(s)
s.update("123")
print(s)

```python
pop():随机删除一个元素  # pycharm中默认从左开始删# 实际上在进行代码实验的时候并不是随机的,默认从左开始删# 仅在集合元素是字符串类时候,并且cmd运行才会随机删除remove(内容):有参数,参数为要删除的元素,如果元素不存在则报错
discard(内容):同remove,元素不存在也不报错clear() : 清空集合中元素s = {"华为","小米",'苹果'}
s.add('三星') # add 是往前面添加
print(s)
s.add("oppo")
print(s)
s.discard('华为')
print(s)
s.clear()
print(s)
```

1.3 字典 dict

1.3.1 概念

字典(dict)用来存储一些有典型的 “对应关系” 的数据类型,特点就是用键值对的方式来存储数据

name = ["小明",'大锤','汤姆','杰克']
tel = ["10086",'10010','10000','12315']
# 为了方便查阅,python就提供了一个存储方式:字典
字典就是以键值对来存储的什么是键值对?
小明就是键,对应一个值就是 "10086"键值对语法: key:value    ex    "小明":"10086"(一个元素,键值对)字典的表现形式:字典和集合一样用大括号,如果大括号里面如果存储的是普通的值,就是集合,如果是键值对(说明关系的数据),那么它就是字典字典跟普通容器不同,更适合去描述一个对象语法格式:字典名 = {键名1:值,键名2:值,键名3:值.。。。}nr = {'姓名': '小明','年龄': 18,'工作': '写Python'
}
输出方式:字典名[键]print(nr['工作'])print(call['大锤'])

1.3.2 性质

字典在内存中主要是通过键来访问

1. 无序 没有下标,字典可以通过键来访问数据字典名[键]
2. 不重复,字典的键,是不可以重复的nr = {'姓名': '小明','年龄': 18,'工作': '写Python','年龄': 28} # 重复了,默认取最后一个
3. 可变性,字典里面的数据是可变的,能嵌套nr['年龄'] = 28nr = {'姓名': '小明','年龄': 18,'工作': '写Python','技能': ['python', 'java', 'c', 'scala', '珠峰']
}

1.3.3 方法

- 增- setdefault:给字典添加一个元素,如果原先有这个元素,就输出它的值- 字典名.setdefault("键名") -->能增加一个键,值默认为空- 字典名.setdefault("键名","值")nr.setdefault("出生日期","1900-08-08")print(nr)一般增加不是用方法,而是直接写
zd = {"a": 1, "b": 2}
zd['c'] = 3  # 直接这样也能增加
print(zd)

--删
```python
pop() : 删除指定的键字典名.pop(键名)
zd.pop("c")  # 字典
print(zd)
zd.pop("a")
print(zd)clear() : 清空字典
```

```python
update: 修改键的值,如果没有这个键,就新增加一个字典名.update({键,值})
zd.update({"d":10})
print(zd)常用的:直接赋值
zd['a'] = 5
print(zd)
```

```python
- get(键名,默认值) : 通过键名,获得键值print(zd.get('c','^_^')) # 区别,找不到不会报错,会填充默认值
- keys:  获得所有的键
- values   获得所有的值
zd = {"a": 1, "b": 2}
zd['c'] = 3  # 直接这样也能增加
print(list(zd.keys()))
print(list(zd.values()))- items: 获取所有的键值对,将键值对全部装成元组
```

2.1 格式化输出

格式化输出让可以更舒服的输出带有变量的字符串

2.1.1 %方法(占位符)

先预定,占住一个位置,后续再用实际的数据填不上

程序在开发的时候,有时候不确定使用的数据具体是啥,先占个位置

占位符也能分为不同的类型

  • 常用的占位符

%s = 字符串%d = 整数%f =  小数 =》 默认保留6位小数点 ​   %.1f => 保留一位小数点​    %.2f => 保留二位小数点

语法

"xxx%dxxxx%s"%(变量1,变量2)nr = {'name': "小明",'age': 18,'height': 1.77,
}print("你好,我叫%s,今年%d岁了,身高%.3f" % (nr['name'], nr['age'], nr['height']))

2.1.2 format()方法

字符串的一个方法

语法

print("你好,我叫{},今年{}岁了,身高{}".format(nr['name'],nr['age'],nr['height']))

2.1.3 f-format()

python3.x 新提供的格式化输出方式,寓意快速

更简单,更常用

语法:在字符串前面加上 f/F,把要输出的变量用大括号{}进行包囊name = "小明"
age= 18
height =  1.7print(f"大家好,我叫{name}我今年{age}岁,今年身高是{height}")
# 大括号内的变量可以进行操作 : 方法,切片,增加减少
print(f"大家好,我叫{name[0]}我今年{age+1}岁,今年身高是{height*2}")

3.1 小练习

# 1.将列表数据[1,2,3,2,1,4,4,4,2,5,6,7,7,9,8,10,10]去重# 2.用字典建立一个个人名片,要求要一个爱好:[]# 3.有字典 dic = {"k1": "v1", "k2": "v2", "k3": "v3"},实现以下功能:(1)、遍历字典 dic 中所有的key(2)、遍历字典 dic 中所有的value(3)、循环遍历字典 dic 中所有的key和value(4)、添加一个键值对"k4","v4",输出添加后的字典 dic(5)、删除字典 dic 中的键值对"k1","v1",并输出删除后的字典 dic(6)、获取字典 dic 中“k2”对应的值
# 4.students = [{'name':'小明','age':18,'score':98,'tel':'18888888888','gender':'female'},{'name':'大明','age':20,'score':95,'tel':'18888888889','gender':'unkown'},{'name':'汤姆','age':18,'score':88,'tel':'18888888810','gender':'male'},{'name':'杰克','age':16,'score':58,'tel':'18888888811','gender':'unkown'},{'name':'山姆','age':19,'score':78,'tel':'18888888812','gender':'male'},{'name':'麦克','age':17,'score':92,'tel':'18888888813','gender':'male'},
]
# 1.统计及格学生的个数
# 2.将女性改为男性

4.1 解析

# 1.将列表数据[1,2,3,2,1,4,4,4,2,5,6,7,7,9,8,10,10]去重set1=[1,2,3,2,1,4,4,4,2,5,6,7,7,9,8,10,10]set2=set(set1)print(list(set2))# 2.用字典建立一个个人名片,要求要一个爱好:[]gr={'姓名:' :'me','年龄:' : 26,'兴趣爱好:':['打篮球','学python','打游戏','永劫无间']}print(gr)# 3.有字典 dic = {"k1": "v1", "k2": "v2", "k3": "v3"},实现以下功能:
#   (1)、遍历字典 dic 中所有的key
dic={"k1": "v1", "k2": "v2", "k3": "v3"}for i in dic:print(i)
#     (2)、遍历字典 dic 中所有的valuefor i in dic.values():print(i)
#     (3)、循环遍历字典 dic 中所有的key和valuefor i in dic.keys():print(i,dic[i])
#     (4)、添加一个键值对"k4","v4",输出添加后的字典 dic
'第一种方法: 'dic_1=dic.setdefault("k4","v4")print(dic)
'第二种方法: 'dic["k4"]='v4'print(dic)
#     (5)、删除字典 dic 中的键值对"k1","v1",并输出删除后的字典 dicdic.pop("k1")print(dic)
#     (6)、获取字典 dic 中“k2”对应的值print(dic["k2"])students = [{'name':'小明','age':18,'score':98,'tel':'18888888888','gender':'female'},{'name':'大名','age':20,'score':95,'tel':'18888888889','gender':'unkown'},{'name':'汤姆','age':18,'score':88,'tel':'18888888810','gender':'male'},{'name':'杰克','age':16,'score':58,'tel':'18888888811','gender':'unkown'},{'name':'山姆','age':19,'score':78,'tel':'18888888812','gender':'male'},{'name':'麦克','age':17,'score':92,'tel':'18888888813','gender':'male'},
]
# 1.统计及格学生的个数j=0for i in students:if(i['score']>=60):j+=1print(j)
# 2.将女性改为男性
for i in students:if(i['gender']=='female'):i.update({'gender':'male'})print(i)

python基础(七)散点类型与格式化输出相关推荐

  1. python变量类型-【干货】Python基础语法之变量类型

    原标题:[干货]Python基础语法之变量类型 还没关注? 01 Python编码 Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错. 解决 ...

  2. python print()方法基本用法,print()格式化输出

    文章目录 print()语法 参数 输出类型 print()格式化输出 python格式化符号 综合实例 print()语法 print(*objects, sep=' ', end='\n', fi ...

  3. python format和百分号的区别_python 格式化输出百分号的方法

    python 格式化输出百分号的方法 python的百分号输出比较奇怪,代码如下 print('%s%%'%(5))#这样就能输出'5%' 以上这篇python 格式化输出百分号的方法就是小编分享给大 ...

  4. 自动化测试之什么是python基础基本数据类型数值类型及序列类型

    前言: 大家都知道学习软件测试需要必须要掌握一门开发语言,对于测试小白来说我们都是推荐python进行学习,因为比较简单,那么今天笔者想给大家唠唠python语言的基本数据类型可以分为三类:数值类型. ...

  5. 全栈自动化测试之python基础基本数据类型数值类型及序列类型

    文章末尾给大家留了大量的福利 前言 大家都知道学习软件测试需要必须要掌握一门开发语言,对于测试小白来说我们都是推荐python进行学习,因为比较简单,那么今天笔者想给大家唠唠python语言的基本数据 ...

  6. python第七章文件和数据格式化选择题_《计算机二级Python语言程序设计考试》第7章:文件和数据格式化...

    注明:本系列课程专为全国计算机等级考试二级 Python 语言程序设计考试服务 目录 考纲考点 文件的使用: 文件打开.关闭和读写 数据组织的维度:一维数据和二维数据 一维数据的处理:表示.存储和处理 ...

  7. python基本输入与格式化_Python导学基础(三)输入、格式化输出、基本运算符

    一:输入 1.python3中的input inp_username=input("请输入您的密码:") # "18" print(inp_username) ...

  8. 从列表中切片最佳英雄组合,我的选择是亚索和李青——补充python基础语法有关数字类型和列表的知识

    本文继续补充个人对python基础语法的理解,这里主要讲数字类型和列表~ 目前还不算初级程序员把,但是一洗头就掉头发,现在都不敢洗头了~ 数字类型 python中的数字类型:int(整型).float ...

  9. python基础-变量,变量类型,字符串str,元组tuple,列表list,字典dict操作详解(超详细)

    python基础--变量 (文章较长,若需要单独看某一个点,可点击目录直接跳转) 文章目录 python基础--变量 1. 变量 2. 变量类型 2.1数字类型 2.2 字符串 2.3 列表 2.4 ...

最新文章

  1. [Big Data - Kafka] kafka学习笔记:知识点整理
  2. Hadoop 之Pig的安装的与配置之遇到的问题---待解决
  3. 【面试招聘】社招如何拿到心仪公司的offer
  4. NAND FLASH/NOR FLASH/EMMC等存储器的比较和区别
  5. 群策群力:破机房征求灵丹妙药
  6. 6 道 BATJ 必考的 Java 面试题
  7. java 垂直走马灯多行,Android实现图文垂直跑马灯效果
  8. 兴图视频指挥系统如何配置服务器,兴图新科指挥调度终端
  9. MTK平台调试mipi屏问题小结
  10. 算法知识点——(3)监督学习——决策树
  11. (转)刘巍然-关于公钥与私钥
  12. C语言实现校运动会项目管理系统
  13. 罗技 logic C930c 摄像头 驱动 win7 64位 家庭中文版 无法使用
  14. 实验用USB转RS-232下载线制作
  15. java并发测试工具_Java并发测试工具类
  16. 基于Python PIL库的简易马赛克拼图程序
  17. 哆啦A梦和小猪佩奇(Python实现)
  18. 微信小程序 默认第一个选中变色
  19. stm32两轮平衡车资料
  20. dukelearntoprogram DNA链找基因问题 Java

热门文章

  1. Java WEB开发须知知识点---概况篇
  2. 你应该知道的前端9种图片格式基础知识
  3. 菜鸟python教程,菜鸟的python之路(一)
  4. fitbit同步不了怎么解决_Fitbit用户投诉,升级Android 9 Pie后无法同步
  5. 微软高级工程师带你 21 天入门机器学习
  6. 正常的计算机设备安装限制,win10系统只能使用指定U盘保护安全的设置教程
  7. ClassNotFoundException: org.codehaus.plexus.compiler.manager.NoSuchCompilerException
  8. c语言智能插座多线程原理,智能插座原理—智能插座的工作原理是什么
  9. R 报错:参数不是数值也不是逻辑值:回覆NA--数据科学新类型tibble
  10. matlab错误使用 sum 数据类型无效。第一个参数必须为数值或逻辑值。解决方法