【python cookbook】【字符串与文本】14.字符串连接及合并
问题:将许多小字符串合并成一个大的字符串
解决方案:
1、针对少数量的字符串:+
2、针对大量的字符串对象的连接,更高效的方法:join()
3、更加复杂的字符串:format()
>>> parts=['Is','Chicago','Not','Chicago?']
>>> ','.join(parts)
'Is,Chicago,Not,Chicago?'
>>> a='Is Chicago'
>>> b='Not Chicago?'
>>> '{} {}'.format(a,b)
'Is Chicago Not Chicago?'
>>> '{}{}'.format(a,b)
'Is ChicagoNot Chicago?'
>>> '{}*{}'.format(a,b)
'Is Chicago*Not Chicago?'
>>> '{}*&%${}'.format(a,b)
'Is Chicago*&%$Not Chicago?'
>>> a+' '+b
'Is Chicago Not Chicago?'
>>> 'Hello' 'World'
'HelloWorld'
>>> print (a,b,sep=':') #更好的使用方法
Is Chicago:Not Chicago?
一个技巧:利用生成器表达式在将数据转换为字符串的同时完成连接操作
>>> data=['AQSC',50,91.2]
>>> ','.join(str(d) for d in data)
'AQSC,50,91.2'
>>>
最后,但也是最重要的是,若我们编写的代码要从许多短字符串中构建输出,则应考虑编写生成器函数,通过yield关键字生成字符串片段;
# example.py
#
# Example of combining text via generators def sample():
yield "Is"
yield "Chicago"
yield "Not"
yield "Chicago?" # (a) 使用join()将他们简单的连接起来
text = ''.join(sample())
print(text)
print('======================')
# (b) 将这些片段重定向到I/O
import sys
for part in sample():
sys.stdout.write(part)
sys.stdout.write('\n')
print('**************************')
# (c) 以混合的方式将I/O操作智能化地结合在一起
def combine(source, maxsize):
parts = []
size = 0
for part in source:
parts.append(part)
size += len(part)
if size > maxsize:
yield ''.join(parts)
parts = []
size = 0
yield ''.join(parts) for part in combine(sample(), 32768):
sys.stdout.write(part)
sys.stdout.write('\n')
>>> ================================ RESTART ================================
>>>
IsChicagoNotChicago?
======================
IsChicagoNotChicago?
**************************
IsChicagoNotChicago?
>>>
【python cookbook】【字符串与文本】14.字符串连接及合并的更多相关文章
- SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法
create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...
- C# 取字符串中间文本 取字符串左边 取字符串右边
好像是第二种效率高一点,取str字符串中123左边的所有字符:第一种Between(str,"","123"),而第二种是Between(str,null,&q ...
- python书籍推荐:Python Cookbook第三版中文
所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/44/ 来源:python黑洞网 内容 ...
- Python文本和字符串常用操作
## 字符串分割 line = "This is my love!" fields = line.split(' ') print(fields) # ['This', 'is', ...
- 13、如何拆分含有多种分隔符的字符串 14、如何判断字符串a是否以字符串b开头或结尾 15、如何调整字符串中文本的格式 16、如何将多个小字符串拼接成一个大的字符串
13.如何拆分含有多种分隔符的字符串 import re s = "23:41:2314\1234#sdf\23;" print(re.split(r'[#:\;]+',s)) ...
- 《Python CookBook2》 第一章 文本 - 过滤字符串中不属于指定集合的字符 && 检查一个字符串是文本还是二进制
过滤字符串中不属于指定集合的字符 任务: 给定一个需要保留的字符串的集合,构建一个过滤函数,并可将其应用于任何字符串s,函数返回一个s的拷贝,该拷贝只包含指定字符集合中的元素. 解决方案: impor ...
- <NET CLR via c# 第4版>笔记 第14章 字符,字符串和文本处理
14.1 字符 三种数值类型与 Char 实例的相互转换: static void Main() { Char c; Int32 n; //方法一: 通过C#转型(强制类型转换)实现数字与字符的相互转 ...
- 【Python】Java程序员学习Python(七)— 文本类详解(字符串、str)
如果一个女孩子喜欢看龙猫,那么请珍惜她,呵护她 任何一门语言,字符串总是最基本也是最需要掌握的一个变量,想想入门的Hello World,输出的就是字符串. 官方文档:https://docs.pyt ...
- python文本 去掉字符串前后空格
python文本 去掉字符串前后空格 场景: 去掉字符串前后空格 可以使用strip,lstrip,rstrip方法 >>> a="abc".center (30 ...
- python字符串与文本操作(一)
1.一个字符串分割为多个字段,但是分隔符 (还有周围的空格) 并不是固定的 #string 对象的split()方法只适应于非常简单的字符串分割情形,它并不允许有 多个分隔符或者是分隔符周围不确定的空 ...
随机推荐
- iOS:后台定位并实时向服务器发送位置
第一步:开启后台模式,选中定位,选择project --> capabilities-->Backgorund Modes --> Location updates 如图: 第二步: ...
- 目标检测的图像特征提取之(一)HOG特征
http://blog.csdn.net/liulina603/article/details/8291093
- 微信公众平台开发(110) 微信连Wi-Fi
关键字:微信公众平台 微信连Wi-Fi 微信 WiFi 硬件鉴权作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-wifi.html 微信连Wi- ...
- 8款实用Sublime text 3插件推荐
Sublime Text作为一个尽为人知的代码编辑器,其优点不用赘述.界面整洁美观.文本功能强大,且运行速度极快,非常适合编写代码,写文章做笔记.Sublime Text还支持Mac.Windows和 ...
- ios-XML文档解析之SAX解析
首先SAX解析xml *xml文档的格式特点是节点,大体思路是把每个最小的子节点作为对象的属性,每个最小子节点的'父'节点作为对象,将节点转化为对象,输出. 每个节点都是成对存在的,有开始有结束.有始 ...
- docker summary
http://blog.tankywoo.com/docker/2014/05/08/docker-4-summary.html 总结的很好 ----------------------------- ...
- CSS 编码规范
转自: https://segmentfault.com/a/1190000005046830 CSS书写格式 1.格式化代码 1.1文件 [建议]:CSS文件使用无BOM的UTF-8编码 1.2缩进 ...
- Java基础之创建窗口——使用BoxLayout管理器(TryBoxLayout4)
控制台程序. javax.swing.BoxLayout类定义的布局管理器在单行或单列中布局组件.创建BoxLayout对象时,需要指定是在行还是列中布局组件. 对于行,组件是从左到右地添加:对于列, ...
- CSS For Bar Graphs(maybe old)
Having a working knowledge of XHTML and CSS when developing applications is a big help in knowing wh ...
- poj 算法 分类
转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 最近AC题:2528 更新时间:2011.09.22 ...