Python重复、连接、索引、切片

字符串的重复

由*表示重复:
字符串文本的重复,使用

>>> 3*'py'
'pypypy'
>>> 'py'*3
'pypypy'
>>> 

变量的重复,使用

>>> a='py'
>>> b='thon'
>>> 3*a
'pypypy'
>>> 3*a+b*3
'pypypythonthonthon'
>>>

 

字符串的拼接

由+操作符连接
用于两个字符串文本,使用

>>> 'py'+'thon'
'python'
>>> 'py'+'th'+'on'
'python'

用于两个变量,使用

>>> a='py'
>>> b='thon'
>>> a+'thon'
'python'
>>> a+b
'python'
>>>

相邻的两个字符串文本自动连接。

>>> a='py'
>>> b='thon'
>>> a+'thon'
'python'
>>> a+b
'python'
>>>

它只用于两个字符串文本,不能用于字符串表达式:

>>> a='py'
>>> b='thon'
>>> a 'thon'
  File "<stdin>", line 1
    a 'thon'
           ^
SyntaxError: invalid syntax
>>> ab
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'ab' is not defined
>>>

 

字符串的索引

Python没有单独的字符类型,一个字符就是一个简单的长度为1的字符串。左字符串的第一个字符索引为 0,而长度为 n 的字符串其最后一个字符的右界索引为 n。例如: 
 +---+---+---+---+---+---+
 | P | y | t | h | o | n |
 +---+---+---+---+---+---+
 0   1   2   3   4   5   6
-6  -5  -4  -3  -2  -1
文本中的第一行数字给出字符串中的索引点 0…6。
第二行给出相应的负索引。请注意 -0 实际上就是 0,所以它不会导致从右边开始计算。
所以索引的结果为:

>>> a='python'
>>> a[0]
'p'
>>> a[1]
'y'
>>> a[5]
'n'
>>> a[6]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> 

试图使用太大的索引会导致错误。

 

字符串的切片

切片是从 i 到 j 两个数值标示的边界之间的所有字符,切片后获得一个子字符串。

如str[0:5],为取从0-5位之间的字符,不包含第5位。示例:

>>> a='python'
>>> a[0:6]
'python'
>>> a[0:5]
'pytho'
>>> a[1:5]
'ytho'
>>>a[:-1]
'pytho'
>>>a[:5]
'pytho'

str[index:index:step],中括号里面分别为:字符起点、终点和步长。

比如str[0:4:2],为从0位开始,4位结束,每隔2步取一个,示例:

a='python'
>>>a[::2]
'pto'

>>>a[0:4:2]
'pt'

>>>a[1:4:2]
'yh'

>>>a[::-1]
'nohtyp'

>>>a[::-2]
'nhy'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值