转载自:https://www.cnblogs.com/douzi2/p/5579651.html

1、split翻译为分裂。  split()就是将一个字符串分裂成多个字符串组成的列表。

2、split()当不带参数时以空格进行分割,当带参数时,以该参数进行分割。

  a、当不带参数时

  st0= '   song    huan     gong    '

  print(st0.split())

   结果为:

  ['song', 'huan', 'gong']

   结论:当不带参数时,默认是以空格作为参数,不管空格在哪,或者有几个 全部被镐掉了!

  b、当带参数时 这种情况就不能按照上面的方式去理解了

  st0= 'iisongiiihuaniiiigongi'

  print(st0.split('i'))

   结果为:

  ['', '', 'song', '', '', 'huan', '', '', '', 'gong', ''] 

  c、这个结果可能就有点出乎意料了并不是想象中的['song', 'huan', 'gong'] 而是多了很多空字符串元素'',这个怎么理解呢?    我的理解方式是,当带参数时,我们得把字符串想象成一块五花肉,我们要做 一件奇葩的事情,就是将肥肉丢到垃圾桶,把瘦肉留下。  比如'iisongiiihuaniiiigongi'这串五花肉,'i'就是要丢掉的肥肉,每次还只能切 'i'这么多。  切的时候是从左到右,一刀下去肥肉'i'丢掉,刀刃左边的部分拿走作为list的一个元素, 刀刃右边的就是剩下的,那么继续切剩下的部分,直到切完。

'iisongiiihuaniiiigongi'这块肉比较特殊:

  d、其一、他的开始和结尾都有i,而且i还不止一个!这样按照上述的方法就会切出 空气,就是列表中我们看到的'', 空字符串元素。    如'iisongiiihuaniiiigongi',当第一刀下去的时候,第一个i被丢到了垃圾桶, 而刀刃的左边什么都没有,所以列表的第一个元素就是'',空字符串元素。  一刀下去之后,就剩下'isongiiihuaniiiigongi'。  所以第二刀下去之后,又得到一个空字符串元素,目前“肉”就剩下'songiiihuaniiiigongi'。  第三刀又切掉一个i,那么刀刃左边的就是song,所以第三个元素就是'song'。    直到切到最后,整坨肉就只剩下一个i了,使用最后一刀下去i被切掉了,刀刃的左边此时也 什么都没有了,所以最后一个元素任然是空字符串。

3、一个超级好的例子:

>>> str="hello boy<[www.doiido.com]>byebye"
>>> str.split("[")[1].split("]")[0]
'www.doiido.com'
>>> str.split("[")[1].split("]")[0].split(".")
['www', 'doiido', 'com']

最新文章

  1. tomcat中catalina是什么(转)
  2. Android 内存泄漏总结
  3. 锋利的jQuery读书笔记---jQuery中Ajax--序列化元素、Ajax全局事件
  4. 《Nagios系统监控实践》勘误
  5. 文件I/O(不带缓冲)之close函数
  6. request&amp;response笔记
  7. SharePoint Attachement操作代码
  8. 忘记linux密码
  9. Asp.net mvc 知多少(七)
  10. php开发微信公众号获取信息LBS
  11. 51nod1649- 齐头并进-最短路
  12. java之静态属性和静态方法
  13. Python-网络爬虫模块-requests模块之请求
  14. 在Docker中体验数据库之MySql
  15. idea git commit撤销
  16. CodeChef Arithmetic Progressions
  17. 安装docker跨主机网络flannel
  18. Django开发环境搭建
  19. Java基础——关于接口和抽象类的几道练习题
  20. 转载:帮你提升 Python 的 27 种编程语言

热门文章

  1. IDA Pro使用(静态分析+动态调试)
  2. android 短信拦截
  3. HDU1875 畅通工程再续【最小生成树】
  4. Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV
  5. mysql 案例 ~ pt-xtrabackup 使用
  6. python标准库 - 数学库和随机数库
  7. Service的线程、工作线程、权限及系统Service
  8. Android BroadcastReceiver 面试解析
  9. 【Python】JBOSS-JMX-EJB-InvokerServlet批量检测工具
  10. nginx配置集群