4.Python入门之元组,字符串

一.元组:戴上枷锁的数组


元组不同于列表,可以任意修改列表元素,插入或删除元素,其是不可改变的,更别谈排序操作了.


1.创建和访问元组


元组大部分使用的是小括号


tuple1=(1,2,3)


访问方式参照列表,如tuple1[1],tuple1[5:],tuple1[:5](不包括索引值为5的元素)


分片方式复制元组:tuple2=tuple1[:]


试图修改元素:tuple[1] = 1(错误)


temp = (1)

type(temp)

<class 'int'> #返回temp的类型为int

temp = 1,2,3

type(temp)

<class 'tuple'> temp类型为元组类型


通过上述对比,可知逗号才是元组的关键,小括号只是补充


若想创建一个空元组,则直接使用小括号,如temp = ()


若元组中只有一个元素,则在其后边加上逗号,如


temp1 = (1,)

temp2 = 1,


如下例所示,可见逗号的重要性


>>> 4*(8)

32

>>>4*(8,)

(8,8,8,8)


2.更新和删除元组


元组本来是不可改变的,但可以通过拷贝方式解决


temp = (1,2,3)

temp = temp[:2] + (4,) + temp[2:]

temp

(1,2,4,3)


上例通过分片方式将元组拆分为两部分,再使用连接操作符合并成新的元组,最后将原来变量名指向连接后的新元组,达到更新数组目的,注意逗号和小括号都是必需的。


同理可通过temp = temp[:2] + temp[3:]间接删除元素


del temp可显式删除一个元组,但del一般使用不到,因为Python会自动回收不用的元组


总结:拼接('+'),重复('*'),关系,逻辑,成员关系(in和not in)操作符均可直接用在元组中,用法类比列表.


二:字符串


1.创建和访问字符串

str1 = 'I love you'

str1[:6]

'I love' #分片应用


Python中没有字符,字符只是长度为1的字符串


访问字符串的字符时,只需通过索引进行访问


>>>str1[5]

'e'

字符串和元组一样,不可更改,修改方法同元组


str1[:6] + 'and' + str1[6:]


该种修改方法并不是真正意义上改变原始字符串,只是将变量指向新的字符串,原字符串还存在,但原字符串一旦没有变量引用,就会被回收.


比较,逻辑,成员关系操作符仍可用于字符串中,用法同列表和元组.


2.字符串方法:

待补充


常用方法示例


1)str1.casefold() #所有字符小写


2)count(sub[,start[,end]]) #[]表示可选参数,查找sub子字符串出现的次数,

                           #start和end表示查找范围


3)find(sub[,start[,end]])


#查找子字符串在该字符串的位置,返回第一个字符的索引值,若不存在,返回-1


4)index(sub[,start[,end]])


#同上,查找子字符串在该字符串的位置,返回第一个字符的索引值,但不存在时抛出异常


5)join(sub) 

            

#用于连接字符串,以字符串为间隔,插入到sub字符串中的所有字符之间,如


>>>'x'.join('Test')
'Txexsxt'


使用join的原因:用'+'拼接字符串会引起内存复制以及垃圾回收,效率低,所以对于大量字符串的拼接来说,通常如下操作


>>>''.join(['I','love','you'])

'I love you'

6)replace(old,new[,count]):替换指定的字符串,count指定替换的最大次数,如


>>>str = 'I love you'
>>>str.replace('you','running')
'I love running'


7)split(sep=None,maxsplit=-1)


用法与join相反,用于拆分字符串,不带参数默认以空格为分隔符切片字符串,若maxsplit有设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表


>>>str = ''.join(['I','love','you'])

'I love you'

>>>str.split()

['I','love','you']

>>>str1 = '_'.join('good')

>>>str1.split(sep = '_')

['g','o','o','d']


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值