Python学习之路3 - 字符串操作&字典
本节内容:
- 常用的字符串处理。
- 格式化输出字符串。
- 字符串的替换。
- 字符串和二进制的相互转化。
- 字典的操作
字符串操作
常用的字符串处理
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 - 字符串操作&字典的更多相关文章
- 【php学习之路】字符串操作
		无论学习那种语言,字符串操作都是必备的基础.学php的时候总是会不知不觉的与C#比较,用起来总觉得怪怪的没有那么顺手,有些命名也差别很大,再加上很多函数命名是简写形式不百度下还真不知道什 ... 
- 小白的Python之路 day2  字符串操作 , 字典操作
		1. 字符串操作 特性:不可修改 name.capitalize() 首字母大写 name.casefold() 大写全部变小写 name.center(50,"-") 输出 '- ... 
- python学习笔记(二)、字符串操作
		该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ... 
- 实验楼Python学习记录_挑战字符串操作
		自我学习记录 Python3 挑战实验 -- 字符串操作 目标 在/home/shiyanlou/Code创建一个 名为 FindDigits.py 的Python 脚本,请读取一串字符串并且把其中所 ... 
- python学习之路06——字符串
		字符串 1.概念 字符串就是由若干个字符组成的有限序列 字符:字母,数字,特殊符号,中文 表示形式:采用的单引号或者双引号 注意:字符串属于不可变实体 2.创建字符串 str1 = "hel ... 
- Python学习之路4 - 文件操作&编码转换
		文件操作 文件操作大概分三步: 把文件打开. 操作文件. 把文件关上. 打开文件 打开文件用open()函数,打开成功后返回一个资源,具体语法如下. open(要打开的文件,打开方式,打开文件的格式, ... 
- python学习之路04——列表和字典
		列表和字典 python中的可变数据类型有:列表和字典 不可变类型:数字,字符串,元组 今天先讲列表和字典 一.列表 1.概念: 变量:使用变量存储数据,但是,变量存储数据每次只能存储一个数据 问题: ... 
- Python学习之路day3-文件操作
		一.概述 作为IO操作的重要部分,文件操作需要经常用到,下面简述下python中操作文件的流程: 1. 打开文件,得到一个文件句柄并赋值给一个变量 f = open("test.txt&qu ... 
- python基础之    列表、元组操作     字符串操作     字典操作     集合操作     文件操作     字符编码与转码
		本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ... 
随机推荐
- Action与Func 用法
			//vs2017 + framework4.6.2 //zip https://github.com/chxl800/ActionFuncDemo //源文件git https://gith ... 
- 慎使用sql的enum字段类型
			在sql的优化中,会有同学提到一点:使用enum字段类型,代替其他tinyint等类型.以前这也是不少人喜欢优化的,但是现在细想,是非常不合理的. 优点: 1.可以设置区间范围,比如设置性别:1男2女 ... 
- layui   sleect获取value值
			<div class="layui-form-item"> <label for="username" class="layui-f ... 
- Js 手指事件
			1.Touch事件简介 pc上的web页面鼠标会产生onmousedown.onmouseup.onmouseout.onmouseover.onmousemove的事件,但是在移动终端如ipho ... 
- MySQL集群-PXC搭建以及使用innobackupex工具进行全局备份和增量备份
			环境:centos7 vm1:10.154.47.236 vm2:10.154.52.189 vm3:10.105.12.50 目的:pxc使用三个节点构建mysql集群,使用innobackupex ... 
- win10 禁用自动更新
			管理员身份运行CMD,输入REG add "HKLM\SYSTEM\CurrentControlSet\Services\UsoSvc" /v "Start" ... 
- vue生命周期和react生命周期对比
			一 vue的生命周期如下图所示(很清晰)初始化.编译.更新.销毁 二 vue生命周期的栗子 注意触发vue的created事件以后,this便指向vue实例,这点很重要 <!DOCTYPE ht ... 
- 洛谷P4136 谁能赢呢?
			题目描述 小明和小红经常玩一个博弈游戏.给定一个n×n的棋盘,一个石头被放在棋盘的左上角.他们轮流移动石头.每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问 ... 
- 天津Uber优步司机奖励政策(12月28日到12月29日)
			滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ... 
- LiteOS创建任务的一个BUG
			在任务创建的时候,参数无法传递,第二个参数本来是用来做参数传递的,但是却没用到,很尴尬啊,缺少了这个功能,很多无法写了? osThreadId_t osThreadNew (osThreadFunc_ ... 
