Python字符串操作函数split()和join()
字符串拆分
在python中有切片(Slice)操作符,可以对字符串进行截取,还提供了split()函数可以将一个
字符串分裂成多个字符串组成的列表。在使用split()函数来拆分字符串之前,我们先来看看它的底
层构造。
def split(self, *args, **kwargs): # real signature unknown
"""
Return a list of the words in the string, using sep as the delimiter string. sep
The delimiter according which to split the string.
None (the default value) means split according to any whitespace,
and discard empty strings from the result.
maxsplit
Maximum number of splits to do.
-1 (the default value) means no limit.
"""
其语法为 string = str.split(sep,maxsplit)[n] ,该函数使用字符串中的字符作为分隔
符(sep),返回字符串分词后的列表(不含有作为分隔符的字符);同时还可以传入一个int参数
(n)作为分隔的次数,(默认值为 -1,不限制次数),maxsplit是分割次数。
需要注意的是,当不写分割符(sep)时表示所有的空字符,包括空格、换行(\n)、制表符(\t)等,
有分隔符时,以该分隔符进行分割。
实例演示
无分隔符的情况
str1 = "Process finished with exit code 0"
str2 = "Process\nfinished\nwith\nexit\ncode\n0"
str3 = "Process\tfinished\twith\texit\tcode\t0" str1 = str1.split()
str2 = str2.split()
str3 = str3.split() print(str1)
print(str2)
print(str3)
从运行结果可以看到,在没有参数的情况下,函数默认以空格,回车符,空格符等作为分割条件。
有分隔符的情况
str1 = "Process+finished+with+exit+code+0"
str2 = "Process,finished,with,exit,code,0"
str3 = "Process finished with exit code 0" str1 = str1.split('+')
str2 = str2.split(',')
str3 = str3.split('e') print(str1)
print(str2)
print(str3)
从运行结果可以看出,函数会以分隔符为分割条件,对字符串进行分割,再将得到的每个分割段
存储为列表进行返回。
有分割次数的情况
str2 = "Process,finished,with,exit,code,0" sp1 = str2.split(',',1)
sp3 = str2.split(',',3)
sp5 = str2.split(',',5)
sp7 = str2.split(',',7) print(sp1)
print(sp3)
print(sp5)
print(sp7)
该函数的第二个参数是分割次数,有同学可能发现了,sp7已经超出最大分割次数了啊。没错,
最后一个分割段是"0",以分隔符","对其无法再继续分割,所以保持不变。
简单应用
题目:在一行输入 3 个整数,用空格隔开,要求输出第二个整数的值。虽然是入门级的题,但很
好的运用了split()函数,大家可以自己先思考下再展开下面代码。


num = input().split(' ',2)[1]
print(num)
字符串合并
字符串合并在日常开发工作中比较常用,同样先看下其底层构造:
def join(self, ab=None, pq=None, rs=None): # real signature unknown; restored from __doc__
"""
Concatenate any number of strings. The string whose method is called is inserted in between each given string.
The result is returned as a new string. Example: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'
"""
pass
该函数可以连接任意数量的字符串,将字符串插入到被调用的两两字符串间,返回一个新的字符串。
其语法为 string_name.join(iterable) 。
参数说明:
string_name:分隔符,可以为空
iterable:要连接的元素序列、字符串、元组、字典
返回值:返回一个以分隔符string_name连接各个元素后生成的字符串
应用演示
操作字符串
str1 = 'python'
print('-'.join(str1))
操作序列
web = '.'
str2 = ["www","baidu","com"]
print("https://" + web.join(str2))
操作字典
str3 = {"name": "liulei","age": 19,"sex": 1}
print('-'.join(str3)) #操作字典时只对键进行连接
操作元祖
str4 = ("/home","test","scripts")
print("/".join(str4))
Python字符串操作函数split()和join()的更多相关文章
- python——字符串操作函数
字符串 join() map() split() rsplit() splitlines() partiton() rpartition() upper() lower() swapcase() ca ...
- Python 字符串操作函数一
#-*- coding:utf-8 -*- strword = "i will fly with you , fly on the sky ." #find print(strwo ...
- Python 字符串操作函数二
#-*- coding:utf-8 -*- line = "l want watch movie with you ." print(line.center(50)) print( ...
- Python中字符串操作函数string.split('str1')和string.join(ls)
Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换, 使用 .split()可以将字符串中特定部分以多个字符的形式,存储成列表 def split(self, * ...
- python字符串操作实方法大合集
python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下: #1.去空格及特殊符号 s.st ...
- Lesson12——NumPy 字符串函数之 Part1:字符串操作函数
NumPy 教程目录 1 NumPy 字符串函数 以下函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作. 它们基于 Python 内 ...
- Python 字符串操作
Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip() .lstrip() .rstrip(',') 复制字符 ...
- 转 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
转自: http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html 黄聪:Python 字符串操作(string替换.删除.截取. ...
- js 字符串操作函数有哪些
js 字符串操作函数有哪些 一.总结 一句话总结:js字符串函数都是字符串对象的方法,是通过调用字符串方法的方式调用,和java,php里面不一样. 1.字符串替换函数怎么用? 这里的正则表示是加双引 ...
- JavaScript中常见的字符串操作函数及用法
JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...
随机推荐
- for循环原理补充、生成器对象、yield冷门用法、生成器表达式的面试题、常见内置函数
目录 一.for循环原理补充 二.生成器对象 (1).自定义生成器对标range功能(一个参数 两个参数 三个参数 迭代器对象) 三.yield冷门用法 (1).yield与return的对比 四.生 ...
- 自研API 网关 - 媲美美团这套Shepherd网关架构!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 我说:"很多互联网大厂,很少基于 SpringMVC 模块对外提供 WEB 服务的 ...
- 【QCustomPlot】绘制 x-y 曲线图
说明 使用 QCustomPlot 绘图库辅助开发时整理的学习笔记.同系列文章目录可见 <绘图库 QCustomPlot 学习笔记>目录.本篇介绍如何使用 QCustomPlot 绘制 x ...
- CF1034D Intervals of Intervals
简要题意 给定 \(n\) 个区间组成的序列,定义它的一个连续段的价值为这个段内所有区间的并覆盖的长度.求价值前 \(k\) 大的段的价值和. 数据范围:\(1\le n\le 3\times 10^ ...
- Java使用redis-Redis是并发安全的吗?
大家都清楚,Redis 是一个开源的高性能键值对存储系统,被开发者广泛应用于缓存.消息队列.排行榜.计数器等场景.由于其高效的读写性能和丰富的数据类型,Redis 受到了越来越多开发者的青睐.然而,在 ...
- asp.net程序通过Microsoft Azure中SAML协议实现单点登录
1. 新建应用程序 登录Azure门户,进入左侧菜单"企业应用程序--所有应用程序",点"新建应用程序", 继续点"创建你自己的应用程序", ...
- 数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘。图算法,搜索算法等
数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘.图算法,搜索算法等 算法码源见文末 1.算法目录 18大DM算法 包名 目录名 算法名 Associati ...
- SQL专家云回溯某时间段内的阻塞
背景 SQL专家云像"摄像头"一样,对环境.参数配置.服务器性能指标.活动会话.慢语句.磁盘空间.数据库文件.索引.作业.日志等几十个运行指标进行不同频率的实时采集,保存到SQL专 ...
- 详解共识算法的Raft算法模拟数
摘要:Raft算法是一种分布式共识算法,用于解决分布式系统中的一致性问题. 本文分享自华为云社区<共识算法之Raft算法模拟数>,作者: TiAmoZhang . 01.Leader选举 ...
- 一文搞懂什么是 API
在我学习软件开发之前,API 听起来像是一种啤酒(IPA,印度淡色艾尔).如今我经常使用这个术语,事实上最近我还尝试在酒吧里点了一个 API,结果酒保给了我一个: 404 资源未找到的回应 无论是在科 ...