字符串 字典 集合学习总结
2字符串加强
2.1.转义字符
2.1.1.什么是转义符
就是转义符,转义符可以将有意义的字符转成无意义的字符. 也可以将无意义的字符转换为
有意义的字符
无意义的字符就是一个普普通通的字符,例如: t n
2.1.2.什么是转义字符
通过\可以将无意义的字符转换为具有指定功能的字符.
例如:
\n: 代码换行
\t: 代表制表符(tab键)
\: 代表\字符
2.1.3.特殊用法
单引号和双引号在字符串中的注意事项:
1.在计算机的编程语言中: 单双引号必须交替使用,否则必须语法就会出错
2.如果字符串中出现了相同的引号必须通过转移字符转移称为一个普通的引号
3.在单双引号交替使用的情况下,转移符号\无意义
4.在很多语言中使用""定义字符串,在Python中都一样
2.2.字符串内容操作
字符串里面存储 字符类型 的 不可变的 序列 容器
字符串中的每一个字母或者数字以及符号被称为字符串中的值(字符)
2.2.1.访问字符
语法:
字符 = 字符串[索引]
结果:
床
前
2.2.2.while遍历字符
语法:
索引= 0;
长度 = len(字符串)
while 索引 < 长度:
元素 = 字符串[索引]
索引+=1
结果:
床
前
明
月
光
2.2.3.for in 专业遍历
语法:
for 字符 in 字符串:
print(字符)
结果:
床
前
明
月
光
,
地
上
鞋
两
双
2.4.字符串常见操作
2.4.1.去除左右两边空格
语法:
string.strip() 去除两边的空格
string.lstrip() 去除左边的空格 l==>left(左)
string.rstrip() 去除右边的空格 r==>right(右)
默认的情况下strip去除空格, 但是也可以指定去除两边的字符
语法:
string.rstrip(“要去除的字符”)
结果:
== 小 强 ==
小 强
小 强 ==
== 小 强
小 强 ==-
2.4.2.字符串分割
语法:
string.split() 按照空格字符串分割,返回一个列表
string.split(“分隔符”) 按照指定分隔符分割,返回一个列表
string.split(“分隔符”,分割次数) 按照指定分隔符分割,分割指定的次数,返回一个列表
string.rsplit(“分隔符”,分割次数) 从后面开始按照指定分隔符分割,分割指定的次数,返回一个列表
结果:
[‘hello’, ‘world’]
[‘张三’, ‘李四’, ‘王五’]
[‘c:’, ‘www/web/python/index.py’]
[‘c:/www/web/python’, ‘index.py’]
2.4.3.大小写转换
语法:
string.lower() 转换为小写
string.upper() 转换为大写
结果:
hello world
HELLO WORLD
2.4.4.判断开头或者结尾的字符
语法:
string.startswith(“开头字符”)
string.endswith(“结尾字符”)
结果:
True
True
2.4.5.字符串格式化函数
语法:
“需要格式化的字符”%(数据1,数据2)
string.format(“数据1”,“数据2”,“数据3”)
f"字符{变量}串"
结果:
我的名字是小强,我的年龄是29
我的名字是小强,我的年龄是29,我的别名是小强
我的名字是小强,我的年龄是29,我的别名是小强
2.4.6.字符串连接
语法:
string.join(列表)
列表中的元素使用string连接起来
结果:
张三-李四-王五
2.4.7.字符串替换
语法:
string.replace(“原文”,“替换文”)
将字符串中的原文替换成 替换的文字
结果:
加**,提供上门服务
2.4.8.判断字符串由数字组成
语法:
string.isdigit()
结果:
True
False
3.字典
3.1.什么是字典
字典(dictionary)同样是容器,只不过字典中的数据以映射关系来维护,这种映射关系k -> v,我们称k为键,v为值。
3.2.字典语法
d = {key1 : value1, key2 : value2 }
1.字典中的key:value被称为键值对,字典的每个键值key:value对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{}中
2.键必须是唯一的,但值则不必。
3.值可以是任意类型,但键必须是不可变的,例如字符串、数字或者元组。(在工作中键基本上使用字符串)
执行结果:
{‘name’: ‘刘备’, ‘age’: 29, ‘sex’: ‘男’}
3.3.1.最常见的用法
字典 存储不同语义数据的集合, 通过不同的键对不同的数据进行描述。通常用来存放描述一个物体的相关信息。
3.4.字典函数速查
一个事物的信息被保存在字典中,但是我们可能对信息进行增删改查以及排序操作。 Python的字典已经提供了相关的函数。
3.5.修改
3.5.1.添加或者修改
如果key不存在,添加键值对。如果key存在,修改value。
语法:
字典[key] = value
运行结果:
{‘id’: 1, ‘name’: ‘张飞’, ‘age’: 28}
3.5.2.添加或者返回原值
如果key不存在,添加键值对。如果key存在,不修改value,但返回原来value
语法:
value = 字典.setdefault(key,value)
运行结果:
刘备
{‘id’: 1, ‘name’: ‘刘备’, ‘age’: 28}
3.5.3.合并
将字典2的数据合并到字典,字典2会覆盖字典中已存在的内容
语法:
字典.update(字典2)
运行结果:
刘备
{‘id’: 1, ‘name’: ‘张飞’, ‘age’: 29, ‘sex’: ‘男’}
3.6.删除
3.6.1.删除指定键值对
删除指定键值对,如果key不存在就会报错
语法:
del 字典[key]
字典.pop(key)
运行结果:
{‘id’: 1, ‘name’: ‘刘备’, ‘age’: 29}
Traceback (most recent call last):
File “D:/xxx/xxx.py”, line 41, in
del employee[“height”]
KeyError: ‘height’
3.6.2.清空字典
语法:
字典.clear()
运行结果:
{}
3.7.查询
3.7.1.根据key查询value
语法:
字典[key] 根据key查询值,如果key不存在就会报错
字典.get(key) 根据key查询值,如果key不存在返回None
运行结果:
刘备 29
None
KeyError: ‘height’
3.7.2.获取字典的键值对数量
语法:
len(字典)
运行结果:
5
3.7.3.获取字典中所有值
语法:
字典.values()
运行结果:
1
刘备
3.7.4.获取字典中所有键
语法:
字典.keys()
运行结果:
id
name
3.7.5.判断键是否在字典中存在
语法:
value = key in 字典
运行结果:
True
False
3.8.遍历
3.8.1.遍历key
语法:
for key in 字典:
value = 字典[key]
运行结果:
id:1
name:刘备
age:29
sex:男
salary:15000
3.8.2.遍历value
语法:
for value in 字典.values():
value
运行结果:
1
刘备
29
男
15000
3.8.3.遍历键值对
语法:
for item in 字典.items():
item
运行结果:
(‘id’, 1)
(‘name’, ‘刘备’)
(‘age’, 29)
(‘sex’, ‘男’)
(‘salary’, 15000)
3.8.4.遍历键和值
语法:
for key,value in 字典.items():
key,value
运行结果:
id = 1
name = 刘备
age = 29
sex = 男
salary = 15000
4.集合
4.1.什么是集合
集合(set)是一个无序的不重复元素序列(容器)。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
4.2.语法
创建格式:
param = {value01,value02,…}
或者
set() 创建一个空集合
4.3.其他类型转换为集合
语法:
变量名 = set(字符串的数据|列表的数据|字典的数据)
5公共语法
5.1.Python 内置函数
案例一:作用于字符串
结果:
7
g
a
案例二:作用于列表
结果:
5
[‘李四’, ‘王五’, ‘赵六’, ‘啊’]
赵六
啊
案例三:作用于元组
结果:
5
赵六
啊
案例四:作用于字典
注意:max,min是按键的字符比较
结果:
3
{‘age’: 29, ‘height’: 1.75}
height
age
5.2.切片
语法:
[开始:结束:步长]
支持类型: 字符串,列表,元组。不支持字典
强调:
开始、结束为负数时从右向左定位,倒数第一个字符的索引为-1,但是截取的方向还是从左向右
步长为负数时截取的方向还是从右向左
开始默认值为0
结束默认值为最大索引
步长默认值为1
案例一:
结果:
fg
hg
案例二:
结果:
abcdefgh
bcdefgh
bc
hgfedcba
5.3.运算符
5.3.1.+为合并运算符
语法:
合并后数据 = 数据1+数据2
支持类型: 字符串,列表,元组
字典的合并函数为:update
结果:
12345678
[1, 2, 3, 4, 5, 6, 7, 8]
(1, 2, 3, 4, 5, 6, 7, 8)
{‘name’: ‘张三’, ‘age’: 29}
5.3.2.*为重复运算符
语法:
结果 = 数据*次数
支持类型: 字符串,列表,元组
字典不支持*运算符
结果:
12341234
[1, 2, 3, 4, 1, 2, 3, 4]
(1, 2, 3, 4, 1, 2, 3, 4)
5.3.3.in为判断是否存在运算符
语法:
bolean值 = 子数据 in 数据
子数据在数据中存在返回True,否则返回Flase
结果:
True
True
True
True
False
5.3.4.not in为判断是否不存在运算符
语法:
bolean值 = 子数据 in 数据
子数据在数据中不存在返回True,否则返回Flase
支持类型: 字符串,列表,元组,字典
结果:
False
False
False
False
True
5.4.for专业遍历
5.4.1.完整for语法
语法:
for 变量 in 集合:
循环体代码
else:
只要没有通过 break 退出循环,都会执⾏的代码
支持类型: 字符串,列表,元组,字典
结果:
h
e
l
l
o
5.4.2.在工作中的应用场景
最常用的就是对从多个事务的描述中根据一个特征找出需要的一个事物。
例如:
从员工列表中找出 关羽 的信息描述