字符串和字典的相关操作
“”"
转义符:
\(反斜线)就是转义符,可以将有意义的字符转成无意义的,也可以将无意义的转成有意义的
常见的有功能的转义符号有\n(换行),\r(回车),\t(横向制表符)
“”"
“”“字符串加强:可以将字符串当做由多个数字或字母组成的不可变的容器
特点:字符串每个字符都有相应的索引,以0开始
“””
string = “床前明月光,疑是地上霜”
print(string)
print(string[2])
string[2] = “后” 字符串不可修改
支持切片
print(string[:5])
支持遍历
for i in string:
print(i)
去除左右两边的空格
语法
string.strip() # 去除两边的空格
string.lstrip() # 去除左边的空格
string.rstrip() # 去除右边的空格
name = " 张 飞 "
print("" + name + "")
print("" + name.strip() + "")
print("" + name.lstrip() + "")
print("" + name.rstrip() + "")
name = “== 小强 == -”
print(name.strip("="))
字符串分割
语法
string.split() # 按照字符串分割,返回一个列表
string.split(“分隔符”) # 按照指定分隔符分割,返回一个列表
string.split(“分隔符,分割次数”) # 按照指定分隔符分割,分割指定次数,返回一个列表
string.rsplit(“分隔符,分割次数”) # 从后面开始按照指定分隔符分割,分割指定次数,返回一个列表
s = “hello world”
print(s.split())
s = “张安,李四,王五”
print(s.split(","))
s = “E:/python/2019-12-19/python/day01”
print(s.split("/", 2))
print(s.rsplit("/", 1))
大小写转换
语法:
string.lower() # 转换为小写
string.upper() # 转换为大写
s = “hello kitty”
print(s.upper()) # 转为大写
s = “HELLO WORLD”
print(s.lower()) # 转为小写
判断开头或者结尾的字符
语法:
string.startswith(“开始字符”)
string.endswith(“结尾字符”)
s = “hello.jpg”
print(s.startswith(“he”)) # 判断开头字符是否为he
print(s.endswith(“g”)) # 判断末尾字符是g
字符串格式化函数
“”“语法:
“需要格式化的字符”%(数据1,数据2)
string.format(“数据1”,“数据2”,“数据3”)
f"字符{变量}串”
“”"
print(“我的名字是{},我的年龄是{},我喜欢{}”.format(“小强”, 22, “跳舞”))
print(“我的名字是{0},我的年龄是{1},我喜欢{2}”.format(“小强”, 22, “跳舞”)) # 索引传入
print(“我的名字是{name},我的年龄是{age},我喜欢{hobby}”.format(name=“小强”, age=22, hobby=“跳舞”)) # 关键字函数传入
字符串连接
语法:
string.jion(“列表”) string表示连接符
names = [“张三”, “李四”, “丽丝”]
print("–".join(names))
字符串替换
语法:
string.replace(“原文”, “替换文”)
s = “你是个傻B”
print(s.replace(“B”, “*”))
判断字符串由数字组成
语法:
string.isdigit()
s = “123fsag2321”
print(s.isdigit())
s = “12344”
print(s.isdigit())
“”"
字典:
字典 存储不同语义数据的集合,也是一个容器,在Python版本3.7以前是一个无序的容器,3.7以后是有序的
字典由键值对组成,也就是"key":“vaalue”,由{}表示
“”"
修改或添加(若key不存在,添加键值对。如果key存在,修改value)
语法:
字典[key] = value
employee = {“id”: 1, “name”: “小乔”}
employee[“sex”] = “女” # 不存在sex就新增
print(employee)
employee[“id”] = 2 # 存在则修改
print(employee)
添加或者返回原值
如果key不存在,添加键值对。如果key存在,不修改value,但返回原来value
语法:
value = 字典.setdefault(key,value)
employee2 = {“id”: 1, “name”: “小乔”}
employee2.setdefault(“age”, 23) # 不存在就新增
value = employee2.setdefault(“name”, “大乔”) # 存在不修改但返回原值
print(value)
print(employee2)
合并
将字典2的数据合并到字典,字典2会覆盖字典中已存在的内容
语法:
字典.update(字典2)
employee = {“id”:1,“name”:“张飞”}
info = {“sex”:“男”,“tel”:“123456789”,“hobby”:“耍大枪”}
employee.update(info) # 将info的信息合并到employee
print(employee)
删除
删除指定键值对
删除指定键值对,如果key不存在就会报错
语法:
del 字典[key]
字典.pop(key)
employee = {‘id’: 1, ‘name’: ‘张飞’, ‘sex’: ‘男’, ‘tel’: ‘123456789’, ‘hobby’: ‘耍大枪’}
del employee[“hobby”] # 删除hobby键值对
print(employee)
employee.pop(“tel”) # 删除tel键值对
print(employee)
清空字典
删除指定键值对,如果key不存在就会报错
语法:
字典.clear()
info = {‘id’: 1, ‘name’: ‘张飞’, ‘sex’: ‘男’, ‘tel’: ‘123456789’}
info.clear()
print(info)
根据key查询value
语法:
字典[key] 根据key查询值,如果key不存在就会报错
字典.get(key) 根据key查询值,如果key不存在返回None
employee = {‘id’: 2, ‘name’: ‘小乔’, ‘sex’: ‘女’,‘salary’:15000}
print(employee[“sex”])
print(employee[“age”]) # 报错KeyError: ‘age’
print(employee.get(“name”))
获取字典的键值对数量
语法:
len(字典)
employee = {‘id’: 2, ‘name’: ‘小乔’, ‘sex’: ‘女’,‘salary’:15000}
print(len(employee))
获取字典中所有值
语法:
字典.values()
employee = {‘id’: 2, ‘name’: ‘小乔’, ‘sex’: ‘女’,‘salary’:15000}
print(employee.values()) # 获取的是字典中键值对中的值得所有元素
获取字典中所有键
语法:
字典.keys()
employee = {‘id’: 2, ‘name’: ‘小乔’, ‘sex’: ‘女’,‘salary’:15000}
print(employee.keys()) # 获取的是字典中键值对中的键得所有元素
keys = employee.keys()
keys = list(keys) # 将所有的键的元素用列表装起来
print(keys)
print(keys[2]) # 用列表存起来之后可以用索引查看键
判断键是否在字典中存在
语法:
value = key in 字典
value值一定是一个boolean类型的数据
employee = {‘id’: 3, ‘name’: ‘貂蝉’, ‘sex’: ‘女’, ‘age’: 24, ‘salary’: 15000}
print(“id” in employee) # 判断id是否存在employee字典中 True
print(“score” in employee) # 判断score是否存在employee字典中 False
遍历key
语法:
for key in 字典:
value = 字典[key]
employee = {‘id’: 11, ‘name’: ‘貂蝉’, ‘sex’: ‘女’, ‘age’: 24, ‘salary’: 15000}
用for…in…遍历employee中key的所有元素
for key in employee:
print(key + “:” + str(employee[key])) # 用小括号提升优先级,通过字典中根据key查询value获取value的值,
# 通过字符串拼接的方式方法,输出键值对的格式
.遍历value
语法:
for value in 字典.values():
employee = {‘id’: 11, ‘name’: ‘貂蝉’, ‘sex’: ‘女’, ‘age’: 24, ‘salary’: 15000}
for value in employee.values(): # 通过字典中根据字典.values()获取value的值
print(value)
遍历键值对
语法:
for item in 字典.items():
employee = {‘id’: 11, ‘name’: ‘貂蝉’, ‘sex’: ‘女’, ‘age’: 24, ‘salary’: 15000}
for item in employee.items():
print(item)
遍历键和值
语法:
for key,value in 字典.items():
key,value
for key, value in employee.items():
print(key, “:”, value)
“”"
python内置函数
len(item) 计算容器中元素个数
del(item) 删除变量
max(item) 返回容器元素中最大值
min(item) 返回容器中最小值
支持类型:字符串,元祖,列表字典,集合
“”"
作用于字符串的时候
s = “wexyaqe”
print(len(s))
print(max(s))
print(min(s))
del s
作用于列表的时候
w = [“张三”, “李四”, “王麻子”, “啊啊”]
print(len(w))
print(max(w))
print(min(w))
del w[1]
作用于元祖的时候
q = (“张三”, “李四”, “王麻子”, “啊啊”)
print(len(q))
print(max(q))
print(min(q))
作用于字典的时候
z = {“name”: “曹植”, “age”: 22, “sex”: “男”}
print(len(z))
print(max(z))
print(min(z))
del z[“sex”]
print(z)
“”"
切片
语法:
[开始:结束:步长]
支持类型: 字符串,列表,元组。不支持字典
强调:开始,结束为附属时从右向左定位,倒数第一个字符的索引为-1,但是截取的方向还是从左向右
步长为负数时截取的方向还是从右向左
开始默认值为0
结束默认值为最大索引
步长默认值为1
“”"
s = “abcdefgh”
print(s[-3:-1]) # fg 从左往右切片,步长默认为1
print(s[-1:-3]) # 为空,步长为1,从最后一个往右没有元素
print(s[-1:-3:-1]) # hg,-1表示从右往左
print(s[::-1]) # 反转
“”"
运算符:
+:合并运算法 支持字符串,列表,元祖
*:重复运算符 支持字符串,列表,元祖
in:判断元素是存在
not in: 判断元素不存在
“”"
+为合并运算符
语法:
合并后数据 = 数据1+数据2
支持类型: 字符串,列表,元组
字典的合并函数为:update
字符串合并
print(“hfuw” + “hfuwe”)
列表合并
print([1, 2, 3, 4, 5] + [3, 56, 6, 78, 43])
字典合并 用update
s = {“name”: “张飞”}
u = {“age”: 22}
s.update(u)
print(s)
* 为重复运算符
语法:
结果 = 数据 * 次数
支持类型: 字符串, 列表, 元组
字典不支持 * 运算符
字符串
s = “heue”
print(s*7)
列表
s = [“维尼复婚”,“你是个憨包”]
print(s*3)
in为判断是否存在运算符
语法:
bolean值 = 子数据 in 数据
子数据在数据中存在返回True,否则返回Flase
支持类型: 字符串,列表,元组,字典
print(“2” in “1234”) # 字符串
print(“2” in “[1,2,3,4]”) # 列表
print(“2” in “(1,2,3,4)”) # 元祖
print(“name” in {“name”: “张三”}) # 字典
print(“name” in {“name”: “丁一”}) # 判断键是否存在字典中
not in为判断是否存在运算符
语法:
bolean值 = 子数据 in 数据
子数据在数据中不存在返回True,否则返回Flase
支持类型: 字符串,列表,元组,字典
print(“2” not in “1234”) # 字符串
print(“2” not in “[1,2,3,4]”) # 列表
print(“2” not in “(1,2,3,4)”) # 元祖
print(“name” not in {“name”: “张三”}) # 字典
print(“name” not in {“name”: “丁一”}) # 判断键是否存在字典中
完整for语法
语法:
for 变量 in 集合:
循环体代码
else:
只要没有通过
break
退出循环,都会执⾏的代码
支持类型: 字符串, 列表, 元组, 字典
s = “safhjhfu”
for i in s:
print(i)
# if i == “j”: # 字符串里有j就会遍历到j
if i == “o”: # 字符串里没有o,执行else的代码
break
else:
print(“没有找到”)
字符串和字典的相关操作相关推荐
- python学习 day7_字符串、列表的相关操作
python学习day7_字符串的相关函数 字符串的相关操作 (1)字符串的拼接 + (2)字符串的重复 * (3)字符串跨行拼接 \ (4)字符串的索引(复习) (5)字符串的切片:(截取) 对字符 ...
- Learn day3 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作
1. pass break continue # ### pass break continue # (1) pass 过 """如果代码块当中,什么也不写,用pass来 ...
- 字符串的性质、相关操作、相关方法
在day08下创建一个名为04-字符串的代码文件. 一.对于计算机来说,字符串是一堆没有意义的符号.只是人根据自然语言,想象出和这一堆符号相关的含义 二.字符串就是由引号引起来的有限个符号的合集 三. ...
- python输出举例_python字符串格式化输出及相关操作代码举例
字符串的格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中.在 Python 中,字符串格式化使 ...
- python字典创建、使用字典保存中国主要城市和对应邮编_Python字典及相关操作(内含例题)...
python字典类型 今天将会介绍一种在python中十分常见的组合数据类型--字典 通过一些实例来理解字典中的常规操作 什么是字典类型? 列表中查找是通过整数的索引(元素在列表中的序号)来实现查找功 ...
- Java中如何通过键盘输入一个字符串(数组等相关操作)
如何在自己的程序中进行键盘输入与输出,废话不多说,直接上代码: 第一种: //1不限制输入数组的长度 import java.util.Scanner;public class InputArrayN ...
- list列表 tuple元组 (range操作) dict字典 set集合 及相关操作
list列表 1. 什么是列表 定义: 能装对象的对象 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 列表存在索引和切片. 和字符串是一样的. 2. 相关的增删改查操 ...
- python函数控制词典_Python 基础之集合相关操作与函数和字典相关函数
一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...
- python基础===【字符串】所有相关操作
#字符串的相关操作#基本操作 #+ 字符串连接操作 str1 = '来是come走是go' str2 = '点头yes摇头no' result = str1 + str2 print(result)# ...
最新文章
- solaris磁带设备使用方法总结
- redis-数据类型与应用
- Android闹钟 AlarmManager的使用
- 如何处理VirtualBox启动错误消息:The vboxdrv kernel module is not loaded
- CNN基本步骤以及经典卷积(LeNet、AlexNet、VGGNet、InceptionNet 和 ResNet)网络讲解以及tensorflow代码实现
- 2014 android 应用开发大赛,2014年全国高校移动互联网应用开发创新大赛
- python背包问题递归_想问下大神python的背包问题的源代码(最好玩也有伪代码,请用递归法实现),因为只学过递归法,所...
- TCP的几个状态对于我们分析所起的作用SYN, FIN, ACK, PSH,
- linux菜鸟要飞-根目录
- 黑马Python笔记1
- 3D MAX 倾斜物体对齐问题和坐标轴重置问题
- 研究背景与文献综述的区别是什么?
- from scipy.misc import comb ImportError: cannot import name comb
- micropython stm32f107_stm32f107 USART3数据接收错误问题
- 攻防世界 Misc 适合作为桌面
- 基于Spring Boot框架的驾校学员信息管理系统
- 查找附近的人-mongodb的实现
- DeepMind用基于AI的元强化学习框架研究多巴胺在学习过程中的作用
- 华为荣耀9移动卡显示无服务器,华为荣耀9用什么sim卡_华为荣耀9需要剪卡吗-太平洋IT百科...
- XP系统中转移“我的文档”文件夹到其它分区
热门文章
- JS 合并数组的三大方式
- Migrating Aphelion To Windchill DS
- 概述 - Linux内存管理(一)
- ffmpeg api接口实现rtmp推流的两种方式
- tfs restful api 加auth 2.0认计
- [OpenSCENARIO] 标准解析(平民版)
- 背包算法(一)-01背包-史上最详细解答
- Centos 6.4 x86_64 安装QQ2012解决方案
- android+分享微信朋友圈带编辑功能,新功能 微信6.6.6安卓版发布:朋友圈编辑可保留...
- Excel-VBA:UsedRange.Rows.Count取不到最后一行的行号(行标)