本节内容:

  • 常用的字符串处理。
  • 格式化输出字符串。
  • 字符串的替换。
  • 字符串和二进制的相互转化。
  • 字典的操作

字符串操作

常用的字符串处理

name = 'vector'print(name.capitalize()) # 首字母大写
print(name.count('e')) # 判断字符e在字符串中有多少个
print(name.center(50,'-')) # 一共打印50个字符,将vector放在中间,两边用-填充
print(name.endswith('r')) # 判断字符串以什么结尾, 如果是以r结尾则返回true
print(name.expandtabs(tabsize=10)) # 如果在字符串中加入\t,则在该位置上加入tabsize个空格
print(name.find('ec')) # 找到e在字符串中的位置
print(name.isalnum()) # 如果字符串里面只包含英文和数字, 则返回True
print(name.isalpha()) # 如果字符串里面是纯英文, 则返回True
print(name.isdecimal()) # 如果字符串是十进制数字, 则返回True
print(name.isdigit()) # 如果字符串是否为整数, 则返回True
print(name.isidentifier()) # 判断是否是一个合法的标识符(变量名), 合法则返回True
print(name.islower()) # 判断是否为小写, 是则返回True
print(name.isupper()) # 判断是否为大写, 是则返回True
print(name.isspace()) # 判断是否为空格, 是则返回True
print('My Name Is'.istitle()) # 判断是否为标题(首字符大写), 是则返回True
print('+'.join(['1','2','3'])) # 将列表里面的每个元素用'+'拼接起来
print(name.ljust(50,"*")) # 如果字符串长度小于50, 则不够的在左侧用*补充
print(name.rjust(50,"*")) # 如果字符串长度小于50, 则不够的在右侧用*补充
print(name.lower()) # 将大写变成小写
print(name.upper()) # 将小写变成大写
print('\nvector'.lstrip()) # 去掉字符串左边的空格和回车
print('vector\n'.rstrip()) # 去掉字符串右边的空格和回车
print('\nvector\n'.strip()) # 去掉字符串两边的空格和回车
print('name is a book'.rfind('a')) # 从右边开始找a,返回找到的位置
print('name is a book'.split(' ')) # 将字符串按照空格为界分装成列表, 不写参数则分隔符默认为空格
print('name is \na book'.splitlines()) # 将字符串根据换行符为界分装成列表
print('name is a book'.swapcase()) # 大小写互换
print('name is a book'.title()) # 将字符串变成标题(首字母大写)
print('name'.zfill(50)) # 如果字符串不够50个,则在左边用0填充

格式化输出字符串

name = 'vector {name} {age}'
print(name.format(name = 'rev',age=123)) # 格式化字符串
print(name.format_map({'name':'rev','age':123})) # 字典的形式格式化字符串

字符串替换

#先用maketrans设置替换规则, 然后用translate执行替换
p = str.maketrans('asdfgn','123456') #第一个参数是被替换的字符,第二个参数是替换的字符
print('name'.translate(p)) # 将规则p传入,打印出来的就是61me,因为n和a被6和1替换掉了print('name'.replace('n','b',1)) # 将n换成b,第三个参数表示替换几个,如果不写则默认全部替换

字符串和二进制的相互转化

msg = '我爱大延边日不落帝国'
print(msg) # 字符串输出
print(msg.encode(encoding='utf-8')) # 将字符串转换成二进制
print(msg.encode(encoding='utf-8').decode(encoding='utf-8')) # 将二进制转换成字符串

encode参数表示之前是什么格式的,decode参数表示要转换成什么格式的。
如果encode和decode不写参数,默认就是utf-8。

字典

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

字典的特性:

  • dict是无序的
  • key必须是唯一的,so 天生去重

语法:

info = {'str1':'zhangsan','str2':'lisi','str3':'wangwu','str4':'zhaoliu'
}

常见的字典操作:

info = {'str1':'zhangsan','str2':'lisi','str3':'wangwu','str4':'zhaoliu'
}print(info) # 打印全部字典
print(info['str2']) # 根据键名打印字典元素
info['str1'] = 'yangzirui' # 这样就会修改值, 如果键名不存在则会直接创建
del info['str2'] # 删除该元素
info.pop('str2') # 这也是删除
print(info.popitem()) # 随机删除一个, 并返回他的键值对
print(info['str1']) # 打印数据, 如果键名不存在, 就会报错,不推荐用
print(info.get('str2')) # 打印数据, 如果键名不存在, 则返回none, 推荐
print('str1' in info) # 判断键名是否存在,存在打印true,否则打印false
aaa = info.setdefault('str5','liangsohohfefho') # 如果info里面有键为str5的,则直接返回对应的值;如果没有,则创建后返回对应的值a = {'str1':'asdfsdfd',1:2,2:3
}
info.update(a) # 将字典a合并到info中,如果有交叉,则用a字典中的值
info.items() # 将字典转成列表, 列表中的每个元素都由元组组成,每个元组又原字典的每个键值对组成c = dict.fromkeys([1,2,3],'test') # 创建一个新字典, 键为1,2,3, 值均为test, 如果不写值,则均为none;后面赋的值是三个键共有的, 所以改一个就全都改了

循环字典:

info = {'str1':'zhangsan','str2':'lisi','str3':'wangwu','str4':'zhaoliu'
}
#第一种循环方法
for i in info:print(i,info[i])
# 这应该是最基本的循环了# 第二种循环方法
for k,v in info.items():print(k,v)
# 这种循环方式的效率没有第一种循环效率高,因为这种需要将字典转换成列表

输出结果:(两种循环方式均是这样)

转载于:https://www.cnblogs.com/y-zr/p/7906001.html

Python学习之路3 - 字符串操作字典相关推荐

  1. python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  2. python复制指定字符串_python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  3. Python学习之路—2018/6/20

    Python学习之路-2018/6/20 1.模板语法之变量 views.py def index(request):import datetimes="gyq"l=[1,2,3] ...

  4. Python学习之路9☞面向对象的程序设计

    Python学习之路9☞面向对象的程序设计 一 面向对象的程序设计的由来 见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 二 什 ...

  5. python列表和字典_2020/11/18 python学习第5课 列表和字典

    python学习第5课 列表和字典 课程目标 熟练掌握列表.字典中元素的增删改查 理解列表和字典的区别 课程难点 列表与字典增删改查的异同 正确使用切片,深刻理解切片时冒号左右数字的意义 课程知识点总 ...

  6. Python学习之路5☞文件处理

    Python学习之路5☞文件处理 一.文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1 正趣果上果 2 Interesting fruit fruit 3 4 ...

  7. Python学习教程:数据类型—字符串大总结

    Python学习教程:数据类型-字符串大总结 1. Python字符串的创建 字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下: str = "我是字符串 ...

  8. 我的Python学习之路(一)_Mr_Ouyang

    我的Python学习之路(一)_Mr_Ouyang 笔者按: 本文从18:55开始写作,至19:38中断,又从21:12始继续,至23:22写就. 共计耗时113分钟,总字数9081字,约80.4字/ ...

  9. Python学习之路—2018/6/27

    Python学习之路-2018/6/27 1.多表操作 添加记录 添加多对多关系 方式一:传入Author对象 book = Book.objects.get(bid=1) gy = Author.o ...

最新文章

  1. express中的bin/www文件详解
  2. 读科研文献也能泄露隐私,用户发现爱思唯尔PDF阅读器收集用户信息
  3. pandas使用groupby函数计算dataframe数据中每个分组的N个数值的指数权重移动(滚动)平均、例如,计算某公司的多个店铺每N天(5天)的滚动销售额指数权重移动(滚动)平均
  4. java进销存系统静态页_java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码...
  5. 规定自己的Java编码规范
  6. Linux命令 - watch
  7. ARM-Linux下交叉编译opessl-1.0.0
  8. 人工智能学习书单推荐
  9. PHP发送和接收JSON请求
  10. 瑞星09年第一季度安全报告:8亿网民遭木马攻击
  11. error汇总:dpkg: error processing package *** (--configure)
  12. [SDOI2011]打地鼠
  13. UVA 10572 Black and White(插头DP)
  14. MySQL:Innodb表 Data free 的计算概要
  15. MySQL查询指定数据库中所有记录不为空的表
  16. python批量读取landsat8的波段
  17. 单龙芯3A3000-7A1000PMON研究学习-(30)撸起袖子干-再来一杯代码11-内存初始化3-mc_init
  18. 【多轮对话】任务型多轮对话数据集和采集方法
  19. 如何选购电风扇,一本电风扇选购攻略都在这里!
  20. 【计算机视觉】深度相机(七)--体感设备对比

热门文章

  1. erp核心目的及erp特点
  2. getch和getchar的区别
  3. 根据共享文件夹的权限进行自动映射网络驱动器
  4. org.springframework.web.client.RestClientException: Could not extract response
  5. 【修订版】C#/ASP.Net 面试题及答案(1)
  6. 再说变体结构 - 回复 彬 的问题
  7. CISCO发现协议(CDP)理论与实验
  8. GDAL\OGR读取数据示例 C#版本
  9. MFC 教程【12_对话框和对话框类CDialog 】
  10. java建立有向弧,2015安徽省JAVA版数据结构考试题库