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 ...
随机推荐
- .netcore2.1 使用IdentityServer4 生成Token验证
每个新技术权限验证都有一套机制,之前项目WebApi接口权限验证用的是Owin做为权限验证,而.netcore权限限制使用的是IdentityServer4,采用JWT的方法验证token. 首先使用 ...
- Python 條件式 Condition
除了重複使用Function,有時我們須檢查結果,依此判斷下個步驟該怎麼進行,如此就需要條件式 condition statement. if ... elif ... ese ( 或 if ... ...
- 前端JS实现一键导入excel表格
前面的文章中已经讲过关于js表格的导出,此文章主要说到的是excel文件如何导入到网页中,并在网页端显示. 代码部分: <!DOCTYPE html> <html> <h ...
- Gradle之FTP文件下载
Gradle之FTP文件下载 1.背景 项目上需要使用本地web,所以我们直接将web直接放入assets资源文件夹下.但是随着开发进行web包越来越大:所以我们想着从版本库里面去掉web将其忽略掉, ...
- 使用User-Agent防止HttpClient发送http请求时403 Forbidden和安全拦截
问题的抛出 今天有客户反映,批付交易完成后,在我方服务器以“服务器点对点通信”的方式通知请求对方服务器时,对方拦截了请求.并贴了一张截图. 从截图可以看出来,对方拦截了我们的user-agent(Ap ...
- php number_format金钱 价格 格式处理 由分单位转换成元(保留2为小数)
/** * priceFormat * 价格格式处理 * * @access public * @param null * @since 1.0 * @return object */ if(!fun ...
- 【解决 FTP】windows访问Linux的vsftpd(FTP服务器)问题200 Switching to ASCII mode,227 Entering Passive Mode
转载:关于FTP主动模式(active mode)与被动模式(passive mode)的工作原理: 主动模式(服务器向客户端敲门,然后客户端开门)FTP:客户机与服务器之间建立连接时,客户机是大于1 ...
- mysql使用——sql实现随机取一条数据
最近在做接口测试的时候,测试数据是从数据库查询的,但是当需要并发多次去调用接口时,如果sql只是单纯的进行了limit取值,那并发的时候肯定会每条数据都一样. 因此,研究了下sql随机取一条数据的写法 ...
- 使用java代码操作Redis
1导入pom.xml依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis ...
- day95_11_28,selenium定位元素,cookies获取
一.selenium selenium可以将一些资源定位: # 1.find_element_by_id 根据id找 # 2.find_element_by_link_text 根据链接名字找到控件( ...