7.python3实用编程技巧进阶(二)
2.1.如何拆分含有多种分隔符的字符串
#2.1.如何拆分含有多种分隔符的字符串 s = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz' #第一种方法
def my__split(s, seps):
res = [s]
for sep in seps:
t = []
list(map(lambda ss: t.extend(ss.split(sep)), res))
res = t
return res s1 = my__split(s, ',;|\t')
print(s1) #['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz'] #第二种方式:使用re.split (推荐)
import re s2 = re.split('[,;|\t]+', s)
print(s2) #['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz']
2.2.如何调整字符串中文本的格式
#2.2.如何调整字符串中文本的格式 import re #调整时间显示的格式
s = "2019-08-15 23:23:12" s1 = re.sub(r'(\d{4})-(\d{2})-(\d{2})',r'\2/\3/\1',s) print(s1) # 08/15/2019 23:23:12
2.3如何将多个小字符串拼接成一个大的字符串
# 2.3如何将多个小字符串拼接成一个大的字符串.. l = ["<11>","<22>","<33>","<44>","<55>","<66>","<77>"] #第一种方法,空间和时间都比较浪费
s = ''
for x in l:
s += x
print(s) #<11><22><33><44><55><66><77> #第二种方法
s2 = ''.join(l)
print(s2) #<11><22><33><44><55><66><77>
2.4如何对字符串进行左, 右, 居中对齐
In [17]: s = 'abc' In [18]: s.ljust(10)
Out[18]: 'abc ' In [19]: s.ljust(10,'*')
Out[19]: 'abc*******' In [20]: s.rjust(10)
Out[20]: ' abc' In [21]: s.rjust(10,'*')
Out[21]: '*******abc' In [22]: s.center(10)
Out[22]: ' abc ' In [23]: s.center(10,'*')
Out[23]: '***abc****' In [24]:
把字典以左对齐的形式打印出来
#2.4如何对字符串进行左, 右, 居中对齐 d = {
"zhang_derek": "",
'name':'',
'address':'',
'age':''
} w = max(map(len,d.keys())) #计算所有key中字符最长的是多少
print(w) # for k, v in d.items():
print(k.ljust(w), ":", v)
结果
2.5如何去掉字符串中不需要的字符
(1)用strip()函数,只能取出两端的,中间的许可以去掉
In [30]: s = ' zhang_derek ' In [31]: s.strip()
Out[31]: 'zhang_derek' In [32]: s.lstrip()
Out[32]: 'zhang_derek ' In [33]: s.rstrip()
Out[33]: ' zhang_derek' In [34]:
加参数
In [43]: s1 = ' -=+zhang_derek-=-+ ' In [44]: s1.strip()
Out[44]: '-=+zhang_derek-=-+' In [45]: s1.strip('-=+ ')
Out[45]: 'zhang_derek' In [46]:
(2)删除固定位置,用切片,去掉下面的冒号
In [46]: s2 = 'abc:123' In [47]: s2[:3] + s2[4:]
Out[47]: 'abc123' In [48]:
(3)replace
In [48]: s3 = ' abc 123 ' In [49]: s3.strip()
Out[49]: 'abc 123' In [50]: s3.replace(' ','')
Out[50]: 'abc123' In [51]:
(4)正则表达式re.sub()
In [57]: s4 = ' \t abc \t 123 \n ' In [58]: import re In [59]: re.sub('[ \t\n]+', '', s4)
Out[59]: 'abc123' In [60]:
7.python3实用编程技巧进阶(二)的更多相关文章
- Python3实用编程技巧进阶 ☝☝☝
Python3实用编程技巧进阶 ☝☝☝ 1.1.如何在列表中根据条件筛选数据 # 1.1.如何在列表中根据条件筛选数据 data = [-1, 2, 3, -4, 5] #筛选出data列表中大于等 ...
- Python3实用编程技巧进阶
Python3实用编程技巧进阶 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以 ...
- Python3实用编程技巧进阶✍✍✍
Python3实用编程技巧进阶 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以 ...
- 6.python3实用编程技巧进阶(一)
1.1.如何在列表中根据条件筛选数据 # 1.1.如何在列表中根据条件筛选数据 data = [-1, 2, 3, -4, 5] #筛选出data列表中大于等于零的数据 #第一种方法,不推荐 res1 ...
- 8.python3实用编程技巧进阶(三)
3.1.如何实现可迭代对象和迭代器对象 #3.1 如何实现可迭代对象和迭代器对象 import requests from collections.abc import Iterable,Iterat ...
- 9.python3实用编程技巧进阶(四)
4.1.如何读写csv数据 爬取豆瓣top250书籍 import requests import json import csv from bs4 import BeautifulSoup book ...
- 10.python3实用编程技巧进阶(五)
5.1.如何派生内置不可变类型并修其改实例化行为 修改实例化行为 # 5.1.如何派生内置不可变类型并修其改实例化行为 #继承内置tuple, 并实现__new__,在其中修改实例化行为 class ...
- EF – 2.EF数据查询基础(上)查询数据的实用编程技巧
目录 5.4.1 查询符合条件的单条记录 EF使用SingleOrDefault()和Find()两个方法查询符合条件的单条记录. 5.4.2 Entity Framework中的内部数据缓存 DbS ...
- EF – 2.EF数据查询基础(上)查询数据的实用编程技巧
目录 5.4.1 查询符合条件的单条记录 EF使用SingleOrDefault()和Find()两个方法查询符合条件的单条记录. 5.4.2 Entity Framework中的内部数据缓存 DbS ...
随机推荐
- flutter 下拉加载+下拉加载
功能: 1.下拉加载 2.上拉加载 3.显示加载图标 4.更新列表数据,隐藏加载图标 flutter库: flutter_spinkit: ^3.1.0 加载图标 其他:加载列表需要列表,基于上一节的 ...
- SQLi-LABS Page-3 (order by injections) Less-46-Less-53
关于order by 注入原理讲解 注入原理 1. 测试 ?sort=1 desc--+?sort=1 asc--+ 显示结果不同,说明可以注入 desc是 descend 降序意思 asc 是 as ...
- OC深浅复制
浅复制:指针的复制 深复制:内容的复制 主要有两个关键字 copy 和mutablecopy 对于基本类型 判断深浅方法 1.只要=右边从创建到赋值,至少包含一个NSMutable便会重新生成一个对 ...
- Thymeleaf对象的使用:基本对象
Thymeleaf中有许多内置对象,可以在模板中实现各种功能.下面有几个基本对象.Web对象常用有:request.session.servletContext.Thymeleaf提供了几个内置变量p ...
- Mysql—下载安装与使用
一.安装前准备 检查是否已经安装过mysql,执行命令,显示结果为:bt-mysql57-5.7.26-1.el7.x86_64 [root@localhost ~]# rpm -qa | grep ...
- Fiddler 过滤图片
fiddler过滤无用图片操作步骤1.在右侧Filters中勾选 Hide if URL contains 2.在 Hide if URL contains 中加入下面一行过滤图片代码 REGEX:( ...
- 201871010123-吴丽丽《面向对象程序设计(Java)》第一周学习总结
201871010123-吴丽丽<面向对象程序设计 ...
- css 两行、多行超出后用省略号...表示
.item-name { letter-spacing: ; overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -web ...
- ubuntu下使用redshift开启护眼模式
前面提到flux这东西在一些机器上并不能work,而且也找到了一些关于他不能work的线索(戳这里看原因).根据这些线索我们发现用flux不行了,得换用redshift,那好吧,我们就来装redshi ...
- celery生产者-消费者
Celery是一个简单,灵活,可靠的分布式系统,用于处理大量消息,同时为操作提供维护此类系统所需的工具. 它是一个任务队列,专注于实时处理,同时还支持任务调度. celery解决了什么问题: 示例一: ...