python中split()和split(' ')的区别

总结:split()的时候,多个空格当成一个空格;split(‘ ‘)的时候,多个空格也要分割,会分割出来空。

例1:

牛客网:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

这样的代码就可以通过:

s=‘student a am I‘
s=‘ ‘
if not s :
    print(s)
s=s.split(‘ ‘)

result=[]
for i in range(len(s)-1,-1,-1):
    result.append(s[i])
    if i:#最后一个位置不需要加空格
        result.append(‘ ‘)
m=‘‘.join(result)
length=(len(m))
print(m)
print(length)

输出:

1

如果把split(‘ ‘)中的空格去掉,就处理不了输入为空的情况:

s=‘student a am I‘
s=‘ ‘
if not s :
    print(s)
s=s.split()

result=[]
for i in range(len(s)-1,-1,-1):
    result.append(s[i])
    if i:#最后一个位置不需要加空格
        result.append(‘ ‘)
m=‘‘.join(result)
length=(len(m))
print(m)
print(length)

输出:

0

例2:

用split()测试一下看看:

s0=‘we are students‘#一个空格
s1=‘we are  students‘#两个空格
s2=‘we are   students‘#三个空格
s3=‘we are    students‘#四个空格

s0=s0.split()
print(s0)
print(len(s0))
s1=s1.split()
print(s1)
print(len(s1))
s2=s2.split()
print(s2)
print(len(s2))
s3=s3.split()
print(s3)
print(len(s3))

输出为:

[‘we‘, ‘are‘, ‘students‘]
3
[‘we‘, ‘are‘, ‘students‘]
3
[‘we‘, ‘are‘, ‘students‘]
3
[‘we‘, ‘are‘, ‘students‘]
3

用split(‘ ‘)测试一下看看:

s0=‘we are students‘#一个空格
s1=‘we are  students‘#两个空格
s2=‘we are   students‘#三个空格
s3=‘we are    students‘#四个空格

s0=s0.split(‘ ‘)
print(s0)
print(len(s0))
s1=s1.split(‘ ‘)
print(s1)
print(len(s1))
s2=s2.split(‘ ‘)
print(s2)
print(len(s2))
s3=s3.split(‘ ‘)
print(s3)
print(len(s3))

输出:

[‘we‘, ‘are‘, ‘students‘]
3
[‘we‘, ‘are‘, ‘‘, ‘students‘]
4
[‘we‘, ‘are‘, ‘‘, ‘‘, ‘students‘]
5
[‘we‘, ‘are‘, ‘‘, ‘‘, ‘‘, ‘students‘]
6

总结:split()的时候,多个空格当成一个空格;split(‘ ‘)的时候,多个空格也要分割,会分割出来空。

python中split()和split(' ')的区别

时间: 2024-12-21 22:13:46

python中split()和split(' ')的区别的相关文章

【转】关于python中re模块split方法的使用

注:最近在研究文本处理,需要用到正则切割文本,所以收索到了这篇文章,很有用,谢谢原作者. 原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于python中re模块split方法的使用 已有 3094 次阅读 2014-3-12 11:30 |系统分类:科研笔记 今天在写一段小代码的时候需要用到re.split()方法,在使用的过程中发现了一个以前不知道的新用法,发现这个用法还是挺实用的,就把它记录下来: >>> m = re.s

FAQ:Python中*args和**agrs的区别

python提供了两种特别的方法来定义函数的参数: 1. 位置参数 *args,  把参数收集到一个元组中,作为变量args   >>>def show_args(*args):          #定义函数 print args >>>show_agrs("hello", "world")      #调用函数 输出:("hello","world") 2. 关键字参数 **kwargs,

python中linspace()和arange()的区别

python中linspace()和arange()的区别 今天无意间看到linspace(0,4,5)可以产生一个array([0,1,2,3,4])的数组,不知道里面的参数是什么,于是就有了这篇博文. linspace( ) linspace()通过指定开始值.终值和元素个数创建表示等差数列的一维数组,可以通过endpoint参数指定是否包含终值,默认值为True,即包含终值.看如下例子 arange( ) arange()通过指定开始值.终值(不包含终值)和步长创建表示等差数列的一维数组,

Python中type与Object的区别

Python中type与Object的区别 在查看了Python的API后,总算明白了.现在总结如下: 先来看object的说明: Python中关于object的说明很少,甚至只有一句话: class object The most base type 从介绍上看这也是Python对类型统一做出的努力.所以这里的object与Java的Object类有着异曲同工之妙,而且可以推测这个object很可能就是一个定义了一个类型的"空类" 再来看type的说明: class type(ob

Python中浅拷贝和深拷贝的区别

Python中浅拷贝和深拷贝的区别 浅拷贝和深拷贝示意图 如上图,简单点说 1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. 2. copy.deepcopy 深拷贝 拷贝对象及其子对象 数字,字符串是不可变类型 列表,字典是可变类型 我们看下面的案例 案例一:浅拷贝 >>> import copy     #导入copy模块                >>> s=['name',['savings',100.0]] #赋值给s >

Python中深拷贝与浅拷贝的区别

Python中深拷贝与浅拷贝的区别: 原创 2017年04月20日 16:58:35 标签: python / python两种拷贝 / 深拷贝浅拷贝 / 拷贝区别 1661 定义: 在Python中对象的赋值其实就是对象的引用.当创建一个对象,把它赋值给另一个变量的时候,python并没有拷贝这个对象,只是拷贝了这个对象的引用而已. 浅拷贝:拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已.也就是,把对象复制一遍,但是该对象中引用的其他对象我不复制 深拷贝:外围和内部元素都进行了拷贝

Python中的is和==的区别,is判断值是否相等,id判断地址是否一致

Python中的is和==的区别 Python中的对象包含三要素:id.type.value. 其中id用来唯一标示一个对象,type标识对象的类型,value是对象的值. is判断的是a对象是否就是b对象,是通过id来判断的. ==判断的是a对象的值是否和b对象的值相等,是通过value来判断的. 看下边的例子: >>> s=set("1234") >>> s set(['1', '3', '2', '4']) >>> ss=s.

Python中str()和repr()的区别

Python中str()和repr()的区别 区别 其实用处就是最大的区别了:str()主要用来为终端用户输出一些信息,而repr()主要用来调试:同时后者的目标是为了消除一些歧义(例如浮点数的精度问题),前者主要为了可读. 使用 In [12]: s = 'abc' In [13]: print(str(s)) abc In [14]: print(2.0/11) 0.18181818181818182 In [15]: repr(s) Out[15]: "'abc'" In [16

python中分割字符串split切割并选择输出 逐行读取文件后字符串拼接

字符串根据分隔符切割后输出,一下面 #!/usr/bin/python # -*- coding: utf-8 -*- str="abc,123 efg,567" #以空行分割后输出 print str.split(); #以','分割2次后输出 print str.split(',',2); #以','分割2次后输出地2个参数,1是从0开始,代表第二个参数 print str.split(',',2)[1]; 输出结果如下: ['abc,123', 'efg,567'] ['abc'

python中join和split函数

一个是分割,一个是连接. 惯例,先看内部帮助文档 Help on method_descriptor: join(...) S.join(iterable) -> string Return a string which is the concatenation of the strings in the iterable. The separator between elements is S. (END) 将可迭代对象(包含的应该是str类型的,不然会报错)连接起来, 返回值是str,用法如