本节内容:

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

字符串操作

常用的字符串处理

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)
# 这种循环方式的效率没有第一种循环效率高,因为这种需要将字典转换成列表

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

Python学习之路3 - 字符串操作&字典的更多相关文章

  1. 【php学习之路】字符串操作

           无论学习那种语言,字符串操作都是必备的基础.学php的时候总是会不知不觉的与C#比较,用起来总觉得怪怪的没有那么顺手,有些命名也差别很大,再加上很多函数命名是简写形式不百度下还真不知道什 ...

  2. 小白的Python之路 day2 字符串操作 , 字典操作

    1. 字符串操作 特性:不可修改 name.capitalize() 首字母大写 name.casefold() 大写全部变小写 name.center(50,"-") 输出 '- ...

  3. python学习笔记(二)、字符串操作

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...

  4. 实验楼Python学习记录_挑战字符串操作

    自我学习记录 Python3 挑战实验 -- 字符串操作 目标 在/home/shiyanlou/Code创建一个 名为 FindDigits.py 的Python 脚本,请读取一串字符串并且把其中所 ...

  5. python学习之路06——字符串

    字符串 1.概念 字符串就是由若干个字符组成的有限序列 字符:字母,数字,特殊符号,中文 表示形式:采用的单引号或者双引号 注意:字符串属于不可变实体 2.创建字符串 str1 = "hel ...

  6. Python学习之路4 - 文件操作&编码转换

    文件操作 文件操作大概分三步: 把文件打开. 操作文件. 把文件关上. 打开文件 打开文件用open()函数,打开成功后返回一个资源,具体语法如下. open(要打开的文件,打开方式,打开文件的格式, ...

  7. python学习之路04——列表和字典

    列表和字典 python中的可变数据类型有:列表和字典 不可变类型:数字,字符串,元组 今天先讲列表和字典 一.列表 1.概念: 变量:使用变量存储数据,但是,变量存储数据每次只能存储一个数据 问题: ...

  8. Python学习之路day3-文件操作

    一.概述 作为IO操作的重要部分,文件操作需要经常用到,下面简述下python中操作文件的流程: 1. 打开文件,得到一个文件句柄并赋值给一个变量 f = open("test.txt&qu ...

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

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

随机推荐

  1. ORACLE GOLDEN GATE oracle同步数据至kafka

    一.服务器信息 ip   软件版本 ogg版本 软件包 操作系统版本 OGG安装路径 10.1.50.52 源 oracle11.2.0.4 12.2.0.1.1 V100692-01.zip cen ...

  2. pt-query-digest慢日志分析工具

    简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOW PROCESSLIST或者通过tcpdum ...

  3. Python Homework 001

    1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 4 import getpass 5 name = "xilong" 6 pas ...

  4. angular 打包

    ERROR in ng:///F:/IDEWorkspace/dsmc/dsmc-front-new/trunk/src/app/routes/city-manage/component-coding ...

  5. api帮助文档的制作

    在java开发中,往往需要用到别人写的类或是自己写的类被别人拿去用. 而使用类的过程中,类中的方法对使用者而言并不完全透明,这个时候帮助文档可以让我们清楚的了解这个类中的方法该如何调用. 下面简述一下 ...

  6. 在线预览word,excel文档

    Google Doc 示例:https://jsfiddle.net/7xr419yb/ Microsoft Office 示例:https://jsfiddle.net/gcuzq343/

  7. python学习笔记:第7天 深浅拷贝

    目录 1. 基础数据类型补充 2. set集合 3. 深浅拷贝 1. 基础数据类型补充 (1)join方法 join方法是把一个列表中的数据进行拼接,拼接成字符串(与split方法相反,split方法 ...

  8. R语言爬虫:CSS方法与XPath方法对比(代码实现)

    CSS选择器和XPath方法都是用来定位DOM树的标签,只不过两者的定位表示形式上存在一些差别: CSS 方法提取节点 library("rvest") single_table_ ...

  9. Redis系列化方式有哪些?哪个系列化性能最好?

    Redis系列化方式有JDK系列化.JSON系列化.XML系列化等多种.我专门测试过,在我的笔记本电脑上保存5万条User对象到Redis,JDK系列化方式平均要15秒,JSON系列化方式只要13秒多 ...

  10. 20154327 Exp3 免杀原理与实践

    实践内容 基础问题回答 (1)杀软是如何检测出恶意代码的? 杀毒软件主要靠特征码进行查杀,匹配到即为病毒. 还有通过云查杀,查看云端库中该文件是否属于恶意代码. 跟踪该程序运行起来是否存在恶意行为,来 ...