一、可变与不可变类型:

1.不可变类型:定义好变量后,不能修改、添加、删除

int 、float、 tuple、 bool、 str 都为不可变类型

2.可变类型:定义好变量后,可进行修改内部元素

list、dict、set

3.replace与split操作后均为新的数据

二、字典的定义以及使用

1.字典的作用:存储多个数据,可读性更强,容易知道每个元素的意义。

2.表示方式{"key":"value","key1":"value1"}

3.字典的键需要满足

a.key必须是唯一的,不能存在两个相同的key;

b.key必须为不可变类型,key的值只能为int 、float、 tuple、 bool、 str,不能用list与dict,因为key值是唯一的(一般情况下都为字符串),值可以是任意的数据(字典、元组、列表等)

4.

a.字典没有索引,为可变类型数据,且无序可修改,每次输出都会改变;

b.列表、元组、字符串都为有序类型;

c.有序类型可根据索引、切片获取数据;

d.字典只能根据key去获取;

5.空字典d = {}

6.取值,不能根据索引,只能根据key取值,方式 字典名[key],

7.key必须是惟一的不能重复,出现重复时,后面的会将前面的覆盖

dict_1 = {'name':'李文','name':'松江'} print(dict_1) 打印结果:{'name': '松江'} print(len(dict_1)) 打印结果:1 #key值重复,长度为1

8.字典的增删改查

(1).字典增:

新的键值赋值 dict[新的key] = value/ dict.update()将一个字典的所有元素更新到另一个字典中

dict_1 = {'name':'liwen','sex':'女','age':18}

dict_1['tel'] = 18674857485

print(dict_1)   打印结果:{'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

dict_1 = {'name':'liwen','sex':'女','age':18}

dict_1.update({'tel':15890987678})

print(dict_1)   打印结果:{'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 15890987678}

(2).字典删:

dict.pop(key) / del dict[key] /dict.popitem() 删除最后一个添加的元素/ dict.clear(),只能根据索引删除,不能根据值删除

#dict.pop(key)

dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

dict_1.pop('name') print(dict_1)

打印结果:{'sex': '女', 'age': 18, 'tel': 18674857485}

#del dict[key]

dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485} del

dict_1['tel'] print(dict_1)   打印结果:{'name': 'liwen', 'sex': '女', 'age': 18}

#dict_1.popitem()删除最后一个添加的元素,py3.7版本以上

dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

dict_1.popitem() print(dict_1)   打印结果:{'name': 'liwen', 'sex': '女', 'age': 18}

#清空字典 dict.clear() dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

dict_1.clear() print(dict_1)   打印结果:{}

(3)修改字典:

dict[已存在的key] = value

dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

dict_1['age'] = 20

print(dict_1)   打印结果:{'name': 'liwen', 'sex': '女', 'age': 20, 'tel': 18674857485}

(4)字典查 :

get():获取键对应的值

keys():获取所有的键,可以用list将结果转化为列表

values():获取所有的值,可以用list将结果转化为列表

items():获取所有的键值对,可以用list将结果转化为列表,列表中每个键值对组成元组

#get():获取键对应的值:

dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

print(dict_1.get('name')) 打印结果:liwen

#获取所有键名 dict.keys():

dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

print(dict_1.keys())   打印结果:dict_keys(['name', 'sex', 'age', 'tel'])

#获取所有值 dict.values()

dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

print(dict_1.values())   打印结果:dict_values(['liwen', '女', 18, 18674857485])

#items():获取所有的键值对,可以用list将结果转化为列表,列表中每个键值对组成元组

dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

print(dict_1.items())   打印结果:dict_items([('name', 'liwen'), ('sex', '女'), ('age', 18), ('tel', 18674857485)])

5.字典的其他用法

A.获取字典长度:len(dict)

dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

print(len(dict_1))   打印结果:4

B.复制字典:dict.copy()

dict_1 = {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

dict_1.copy()

print(dict_1) {'name': 'liwen', 'sex': '女', 'age': 18, 'tel': 18674857485}

6.字典在自动化测试中用例中的所有数据都可以用字典存储;

三、集合

1.集合的定义:花括号或set()函数用来创建集合

2.注意:要创建一个空集合只用用set(),而不能用{},后者为创建一个空字典

3.集合的方法:

(1)增加元素add

set_1 = {'name','sex'} set_1.add('age') print(set_1) 打印结果:{'sex', 'name', 'age'}

(2)删除元素:pop、remove

set_1 = {'sex', 'name', 'age'} set_1.pop()

print(set_1)   打印结果:{'age', 'sex'} 每次打印删除均不一样 随机删除

set_1 = {'sex', 'name', 'age'}

set_1.remove('sex')

print(set_1)   打印结果:{'age', 'name'}

(3)自动化测试中集合很少用来存放数据

(4)集合的交集、并集、差集

4.集合的主要作用去重,没有顺序

case = [ 'name', 'password', 'tel' , 'name' ]

case_set = set(case) #将列表转化为集合

print(case_set)    打印结果:{'password', 'name', 'tel'}

五、运算
1.数学运算print( 1 + 1)print( 3 - 1)print( 1 * 1)print( 6 / 2)  除法得到的是浮点数2.整除print( 7 // 2)3.取余数 、 模print( 11 % 3)4.幂运算 2 的 3 次方print( 2 ** 3)5.赋值运算a = 6 += -= *=a = a + 2
等价的a += 2print(a)赋值运算name = "yuz"name += "wang"print(name)6.判断很重要:测试就是判断,True False大小判断print( 4 > 3)7.充值功能
==balace = 5000money = 300expect = 5030print( balace + money == expect)8.比较:> , < , ==, !=, >=, <=9.逻辑运算:and or notand 只要有一个为 False, 最终就是为 Falsea = 4 > 3  Trueprint(a)b = len('hello') > 9   Falseprint(a and b) and 只有所有判断同时满足,才会得到 Trueor: 只要有一个得到 True, 最终就是 Trueprint(not b)如果存在多个运算,到底先算哪一个,运算优先级不需要记优先级, 括号的作用在运算当中可以提高优先级result = (4 > 3) and (len('hello') > 9)10.in / not in 成员运算,是否在某某的里面, 字符串,列表,元组,字典new_string = "baimengmeng"print("m" in new_string)print("meng" in new_string)print("y" not in new_string)
六、浮点运算
计算机当中10进制的小数print(0.1 + 0.1)print(0.1 + 0.2)print(0.1 + 0.3)print(0.1 + 0.4)print(0.1 + 0.2 == 0.3)

(1)浮点运算符注意控制精度,在py中使用decimal专门控制浮点精度,使用时需要导入

from decimal import Decimal

print(0.1+0.2) 打印结果:0.30000000000000004

from decimal import Decimal print(Decimal(str(0.1))+Decimal(str(0.2))) 打印结果:0.3

一定要转化成 strprint(Decimal(str(0.1)) +  Decimal(str(0.2)) == Decimal(str(0.3)))随机生成测试数据import randomprint(random.randint(1, 100)) #随机生成1-100之间的数据
七、作业:

字典
一、题目:使用字典和列表存储和操作以下数据

a. 某相亲节目需要获取你的个人信息,请存储你的:姓名、性别、年龄

b. 有一个人对你很感兴趣,平台需要您补足您的身高和联系方式;

c, 平台为了保护你的隐私,需要你删除你的联系方式;

d, 你为了取得更好的成绩,需要取一个花名,并修改自己的身高和其他你觉得需要改的信息。

e, 你进一步添加自己的兴趣,兴趣至少包含 3个(注意:兴趣是另外一个列表。请将这个列表作为一个成员,添加到原个人信息列表当中,添加到末尾即可。
答:
# a.存储个人信息表
info = {"name":'yanlizheng', "gender" : '女', "age" : 18}
print(f"a.个人信息表:{info}")

# b.补足身高和联系方式
info["height"] = "170cm"
info["phone"] = "18722028888"
print(f"b.补足身高和联系方式:{info}")

# c.删除联系方式
info.pop("phone")
print(f"c.删除联系方式:{info}")

# d.取一个花名(rose),修改自己的身高和年龄
info["Flower name"] = "rose"  # 增加一个花名为rose
info["height"] = "175cm" # 修改身高
info["age"] = 23
print(f"d.取一个花名(rose),修改自己的身高和年龄:{info}")

# e.添加自己的兴趣
info["interest"] = ['study', 'sing', 'dance']
print(f"e.添加自己的兴趣:{info}")

二、数据类型
题目(字符串和列表):利用下划线将列表li=["python","java","php"]的元素拼接成一个字符串,然后将所有字母转换为大写。
答:
#利用下划线拼接成一个字符串
li = ["python", "java", "php"]
new_li = "_".join(li)
print(new_li)
#将所有字母转换为大写
li = new_li.upper()
print(li)

三、题目(类型操作)有下面几个数据 :

t1 = ("aa",11)
t2= ("bb",22)
li1 = [("cc",11)]
请通过学过的知识点,进行相关操作变为如下字典:

{"aa":11,"cc":11,"bb":22}
提示:元组取值,然后给字典添加key-value
答:
t1 = ("aa",11)
t2= ("bb",22)
li1 = [("cc",11)]
l = {}
l[t1[0]] = t1[1]
l[li1[0][0]] = li1[0][1]
l[t2[0]] = t2[1]
print(l)

四、题目:简述学过的数据类型:

可变类型有哪些

不可变类型有哪些

答:学过的数据类型有:1.int、 2.float 、3.bool 、4.string 、5.set、 6.list、 7.tuple、 8.dict、 9.complex

不可变类型有 :1.int、2.float、3.bool、 4.string、 7.tuple、9.complex

可变类型有:5.set、6.list、 8.dict

python基础笔记第四课_字典集合笔记相关推荐

  1. Python基础入门第四课--字符编码

    这一节本来是和上一节的变量.函数写在一起的,由于是基础入门,写的太多会理解不了,所以将这部分分开来阐述.这里主要说字符编码的相关问题. 1.字符编码 在C语言中,我们学到最基础最重要的概念莫过于字符串 ...

  2. python海龟图画龙珠_阿里云天池龙珠计划——Python基础入门第2课:变量和赋值...

    阿里云天池龙珠计划--Python基础入门第2课:变量和赋值 [我是测试题2]下面这段代码的运行结果是什么? # 运行一下结果就出来了 a = "hello" b = " ...

  3. Python学习第七课-元组字典集合

    Python学习第七课-元组&字典&集合 一.元组 1.1元组简介 1.2元组的拆包 1.3字符串拆包 1.4列表的拆包 1.5拆包练习 二.字典的简介 2.1介绍 2.2操作 三.字 ...

  4. 《python基础教程(第二版)》学习笔记 基础部分(第1章)

    <python基础教程(第二版)>学习笔记 基础部分(第1章) python常用的IDE: Windows: IDLE(gui), Eclipse+PyDev; Python(comman ...

  5. 20190513——python基础(列表、数据类型:字典、列表和字典的异同)

    二.python基础(列表.数据类型:字典.列表和字典的异同)                                                1.列表 1)什么是列表 2)从列表提取单 ...

  6. python列表添加元素的三种方法定义集合数据对象_(1) List,tuple,dictionary,Python语法基础集,一,之,列表,元组,字典,集合...

    Python序列(列表.元组.字典.集合) 一.列表(List)与列表推导式 (一)列表(list) 1.列表是Python内置 可变序列 (列表中元素可增加删除或修改): 2.列表元素放在一对中括号 ...

  7. 全民一起玩Python提高篇第四课:深入数据类型与语法细节(下)

    提高健壮性 如果 try 结构的位置不当,可能导致死循环等问题. file_name=input('请输入文件名:') try:with open(file_name) as f:#用with的方式读 ...

  8. Python基础教程(第2版)读书笔记

    作者简介:Magnus Lie Hetland(http://hetland.org/)挪威科技大学副教授. 第一章基础知识 str().repr().反引号的使用与区别:str 和int.long一 ...

  9. 附笔记pdf下载,MIT中文线性代数课程精细笔记[第四课]

    点击上方"MLNLP",选择"星标"公众号 重磅干货,第一时间送达 鉴于之前MIT的线代笔记没有跟新完和很多童鞋希望pdf版本下载学习,这里我把相关资源放到gi ...

最新文章

  1. mysql权限的误操作的恢复
  2. DB2日志传送基础知识简介
  3. xxl-job 2.1.1执行器源码解读
  4. linux mkdir绝对路径,linux学习(六)绝对路径、相对路径、cd、mkdir、rmdir、rm(示例代码)...
  5. 学计算机的如何学英语,怎么在电脑上学习英语
  6. 曲率多项式转换为直角坐标系
  7. 【nodejs原理源码杂记(8)】Timer模块与基于二叉堆的定时器
  8. [渝粤教育] 西南科技大学 管理学原理 在线考试复习资料(4)
  9. 全国大学生创新创业比赛-----采油厂绩效考核系统的设计与开发
  10. 游戏建模教程:肌肉建模丨人体比例及肌肉骨骼介绍
  11. Win7下无法安装CDC Comms Interface驱动的朋友进
  12. 学完后端还要学前端,在这之间还有中间件
  13. 环形回路算法(python3)
  14. 请说明Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?
  15. c语言系统垃圾清理软件,c语言中加入“一键清理系统垃圾”的代码怎么实现?...
  16. 在UE4中创建新的Shading Model
  17. 关于面试“有戏”和“没戏”的信号
  18. python乌龟画五角星_使用Python的turtle模块画五角星
  19. 谷歌学术403异常处理
  20. Socket和ServerSocket(建立客户端和服务器端)

热门文章

  1. echarts 饼图轮播
  2. cut与qcut的区别
  3. canvas 圆角矩形,背景圆角矩形
  4. spring security 会话管理
  5. bcc校验位怎么算的_BCC(异或校验)、CRC、LRC校验算法
  6. c语言define易错点
  7. 数据结构和算法:警察根据线人提供的加密时间破案
  8. SQL Server 2017安装问题
  9. 方之熙:开启智能、互联嵌入式计算未来
  10. 如何利用局域网的资源打内线IP电话