wangxinnan 发表于 2019-5-15 11:10:53

零基础学Python(第一版)第五章--元组、字符串

元组:
1、元组一般用小括号表示,但是真正的核心,是一定要有“,”(逗号),可以没有小括号,但是一定要有逗号
>>> a=(1)
>>> type(a)
<class 'int'>
>>> b=(1,)
>>> type(b)
<class 'tuple'>
>>> c=1,
>>> type(c)
<class 'tuple'>
2、更新或删除元组:
   一般元组是不能在原有基础上直接进行删减操作,我们一般需要通过变相的操作,来对元组进行修改,例如
>>> a = (1,2,3,4,5)
>>> a = a[ :3] + (78,) + a
>>> a
(1, 2, 3, 78, 4, 5)
   我们通过分片拷贝的结合,对元组进行修改,需要注意一点,重点,新增的元素,要加上逗号,以让系统辨别这个是元组,否则无法添加成功。添加时元素如果加了引号,那么将添加字符,例如下行所示:
(1, 2, 3, '78', 4, 5)
   同理,删除元组的某个元素也是通过分片拷贝的方式,避开选择需要删除的元素即可,如果删除整个元组,和列表一样,直接通过del a,进行整个元组的删除。

字符串:
1、在字符中,空格、逗号,都会算为一个元素,并计入排序的位置中,但是在列表和元组中,逗号是不算的
2、常用的几个内置方法:
--casefold(),作用是将字符串的字符变为小写
--count(sub[,start[,end]]),作用查找字符中某元素出现次数,(1,a,b)表示1这个元素,从字符中位置a开始,位置b结束,出现的次数
--find(sub[,start[,end]]),查找某个子字符在该字符中的位置,可以使用find(xx,a,b)或者index(xx,a,b)均表示xx这个子字符,从位置a开始,位置b结束,是否存在,如果找到了则返回子字符第一个字符的位置索引值,如果找不到find会返回-1,而index会弹错
--join(sub),以字符串为分隔符,插入到对应字符串中所有字符之间,注意是所有。例如,
>>> 'x'.join('text')
'txexxxt'
   需注意,添加的字符需要加引号,在join前边
--replace(old,new[,count]),就是替换制定字符串
>>> a='i love fish'
>>> a.replace('fish','you')
'i love you'
>>> a
'i love fish'
   前边是需要替换的字符,后边是新字符,但是我们需要注意,当重新输入a的时候,发现a的值并没有变,说明replace更换了,但是初始值不会动,除非是以下方式
>>> a=a.replace('fish','you')
>>> a
'i love you'
   根据以上测试得出,当列表的添加删除,原有a的值是会跟着一起变化,但是字符类型的添加删除,原值并不会改变,除非通过a=a.xxx()来进行赋值。

--split(sep=None,maxsplit=-1),和join相反,用于拆分字符串
>>> a = ' '.join(['i','love','fish'])
>>> a
'i love fish'
>>> a = a.split(a)
>>> a
['', '']
>>> a = ' '.join(['i','love','fish'])
>>> a = a.split()
>>> a
['i', 'love', 'fish']
   我们可以看到,当split后边括号内的内容是什么,则是将对应字符串内这个内容全部删除掉,并且以列表的形式返回,如果是想输入空格,需要双引号+空格组合的形式,否则会弹错。
   由于书中对该函数一带而过,后来经过百度多放证实,故完善一下内容:
split更多的,是作为一个分隔符来表达,split(a,b),其中a表示需要作为分隔符的子字符,b表示拆几个。例如:
>>> a
'i love fish'
>>> a.split(' ')
['i', 'love', 'fish']
>>> a
'i love fish'
>>> a.split(' ',1)
['i', 'love fish']
   细心的你有没有发现?当输入(’ ’,1)时,他们只分隔了2个字符,其中1这个元素可以加大,没有影响,根据你想分几个来定,如果超出字符串内的元素范围也是没有关系的
>>> a
'i love fish'
>>> a.split(' ',5)
['i', 'love', 'fish']
算是一个小小的拓展吧

页: [1]
查看完整版本: 零基础学Python(第一版)第五章--元组、字符串