python join 和 split方法简单的说是:join用来连接字符串,split恰好相反,拆分字符串的。
.join()
join将 容器对象 拆分并以指定的字符将列表内的元素(element)连接起来,返回字符串(注:容器对象内的元素须为字符类型)
>>> a = ['no','pain','no','gain'] >>> '_ '.join(a) 'no_pain_no_gain' >>>
注:容器对象内的元素须为字符类型
>>> b = ['I','am','no',1] >>> '_'.join(b) Traceback (most recent call last): File "<pyshell#32>", line 1, in <module> '_'.join(b) TypeError: sequence item 3: expected string, int found >>>
dict是以Key值作连接
>>> L = {'p':'P','y':'Y','t':'T','h':'H','o':'O','n':'N'} >>> '_'.join(L) 'h_o_n_p_t_y' #dict 的无序性,使元素随机连接。set 同理 >>>
.split()
与join相反,split以指定的字符将字符串分割为单个元素(字符类型)并加入list中,返回一个List
>>> a = 'no_pian_no_gain' >>> a.split('_') ['no', 'pian', 'no', 'gain'] >>> split是可以设定切割多少个字符的 >>> a = 'no_pian_no_gain' >>> a.split('_',2) ['no', 'pian', 'no_gain'] >>> a.split('_',1) ['no', 'pian_no_gain'] >>> a.split('_',0) ['no_pian_no_gain'] >>> a.split('_',-1) ['no', 'pian', 'no', 'gain'] >>>
可见split('_')与split('_',-1)返回的结果是一致的
下面通过一个示例给大家讲下python join 和 split使用方法
1.join用法示例
>>>li = ['my','name','is','bob'] >>>' '.join(li) 'my name is bob' >>>'_'.join(li) 'my_name_is_bob' >>> s = ['my','name','is','bob'] >>> ' '.join(s) 'my name is bob' >>> '..'.join(s) 'my..name..is..bob'
2.split用法示例
>>> b = 'my..name..is..bob' >>> b.split() ['my..name..is..bob'] >>> b.split("..") ['my', 'name', 'is', 'bob'] >>> b.split("..",0) ['my..name..is..bob'] >>> b.split("..",1) ['my', 'name..is..bob'] >>> b.split("..",2) ['my', 'name', 'is..bob'] >>> b.split("..",-1) ['my', 'name', 'is', 'bob']
可以看出 b.split("..",-1)等价于b.split("..")
本文向大家介绍详解Python装饰器由浅入深,包括了详解Python装饰器由浅入深的使用技巧和注意事项,需要的朋友参考一下 装饰器的功能在很多语言中都有,名字也不尽相同,其实它体现的是一种设计模式,强调的是开放封闭原则,更多的用于后期功能升级而不是编写新的代码。装饰器不光能装饰函数,也能装饰其他的对象,比如类,但通常,我们以装饰函数为例子介绍其用法。要理解在Python中装饰器的原理,需要一步一步
本文向大家介绍深入理解python中的浅拷贝和深拷贝,包括了深入理解python中的浅拷贝和深拷贝的使用技巧和注意事项,需要的朋友参考一下 在讲什么是深浅拷贝之前,我们先来看这样一个现象: 为什么我只对b进行修改,却影响到了a呢?看过我在之前的文章中就说过:序列中保存的都是内存的引用。 所以,当我们通过b去修改里面的空列表的时候,其实就是修改内存中的同一个对象,所以会影响到a。 代码验证无误,所以
本文向大家介绍深入浅析Python字符编码,包括了深入浅析Python字符编码的使用技巧和注意事项,需要的朋友参考一下 Python的字符串编码规则一直让我很头疼,花了点时间研究了下,并不复杂。主要涉及的内容有常用的字符编码的特点,并介绍了在python2.x中如何与编码问题作战,本文关于Python的内容仅适用于2.x,3.x中str和unicode有翻天覆地的变化,具体请查阅相关资料。 1.
本文向大家介绍深入浅析python继承问题,包括了深入浅析python继承问题的使用技巧和注意事项,需要的朋友参考一下 有如下的代码: 然后代码的运行结果如下: 关于的代码的运行过程,我有以下的疑问,我在 c1 的 __init__ 函数中会调用到p1.__init__(),然后会每次都是运行 c1.f1() 函数,没有运行 p1.f1() 的函数,在 p1 运行的 f1(),怎么也是 c1.f1
本文向大家介绍深入浅析python 中的匿名函数,包括了深入浅析python 中的匿名函数的使用技巧和注意事项,需要的朋友参考一下 定义 匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数,只需用表达式而无需申明。 lambda语法的定义如下: 匿名函数就是没有实际名称的函数。其主体仅仅是一个表达式,而不需要使用代码块。 <函数对象名> = lambda <
本文向大家介绍深入浅析Java注解框架,包括了深入浅析Java注解框架的使用技巧和注意事项,需要的朋友参考一下 我们经常会在java代码里面看到:“@Override”,“@Target”等等样子的东西,这些是什么? 在java里面它们是“注解”。 下面是百度百科的解释:java.lang.annotation.Retention可以在您定义Annotation型态时,指示编译器如何对待您的自定义