鱼C论坛

 找回密码
 立即注册
查看: 4435|回复: 9

[已解决]字符串操作,为什么partition返回元组,split返回列表

[复制链接]
发表于 2015-12-4 21:13:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
都是对字符串的分隔,返回的类型却不同。
最佳答案
2015-12-7 10:30:52
首先,两个函数返回的结果是不一样的啦。从例子可以看出,partition函数返回了3个值,分别是分隔符左边的子串,第二个值是分隔符本身,最后一个是分隔符右边的子串,也就是说,partition函数返回的值的个数是固定的,就是3个了,所以这个很符合元祖的特性了。而split函数不一样,它是根据分隔符来拆分字符串,返回的值的个数就是不一定的,所以结果用列表存储更合适。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-12-6 23:39:11 | 显示全部楼层
亲,贴代码哦~
btw,为什么我的好友请求这么久都没有通过?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-7 08:29:28 | 显示全部楼层
~风介~ 发表于 2015-12-6 23:39
亲,贴代码哦~
btw,为什么我的好友请求这么久都没有通过?

代码如下:
  1. >>> str1 = 'My first string.'
  2. >>> str1.partition(' ')
  3. ('My', ' ', 'first string.')
  4. >>> str1.split(' ')
  5. ['My', 'first', 'string.']
  6. >>> type(str1.partition(' '))
  7. <class 'tuple'>
  8. >>> type(str1.split(' '))
  9. <class 'list'>
复制代码


btw,老大,我的级别还是“新鱼油”,没有权限加好友的,等到“鱼友Ⅰ‘就行了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-7 08:32:54 | 显示全部楼层
~风介~ 发表于 2015-12-6 23:39
亲,贴代码哦~
btw,为什么我的好友请求这么久都没有通过?

好了,40秒前升级为”鱼友Ⅰ“了,已加好友,请版主多指点,让我更容易的入门python。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-7 09:44:00 | 显示全部楼层
冬雪雪冬 发表于 2015-12-7 08:32
好了,40秒前升级为”鱼友Ⅰ“了,已加好友,请版主多指点,让我更容易的入门python。

一起加油吧~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-7 09:48:48 | 显示全部楼层
参考:
  1. |  partition(...)
  2. |      S.partition(sep) -> (head, sep, tail)
  3. |      
  4. |      Search for the separator sep in S, and return the part before it,
  5. |      the separator itself, and the part after it.  If the separator is not
  6. |      found, return S and two empty strings.
复制代码

---
  1. |  split(...)
  2. |      S.split(sep=None, maxsplit=-1) -> list of strings
  3. |      
  4. |      Return a list of the words in S, using sep as the
  5. |      delimiter string.  If maxsplit is given, at most maxsplit
  6. |      splits are done. If sep is not specified or is None, any
  7. |      whitespace string is a separator and empty strings are
  8. |      removed from the result.
复制代码

---
http://bbs.fishc.com/forum.php?m ... peid%26typeid%3D403

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-7 10:30:52 | 显示全部楼层    本楼为最佳答案   
首先,两个函数返回的结果是不一样的啦。从例子可以看出,partition函数返回了3个值,分别是分隔符左边的子串,第二个值是分隔符本身,最后一个是分隔符右边的子串,也就是说,partition函数返回的值的个数是固定的,就是3个了,所以这个很符合元祖的特性了。而split函数不一样,它是根据分隔符来拆分字符串,返回的值的个数就是不一定的,所以结果用列表存储更合适。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-7 10:36:47 | 显示全部楼层
明白一些了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2016-1-27 11:42:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-8-24 16:05:33 | 显示全部楼层
冬雪雪冬 发表于 2015-12-7 08:32
好了,40秒前升级为”鱼友Ⅰ“了,已加好友,请版主多指点,让我更容易的入门python。

看着版主从15年开始到现在的大神,坚持的结果,棒棒哒
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-18 14:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表