python输入文字字符串、如何提取字符_「文山玩Python做测试」如何从字符串中取一段或指定字符...

我们在加到前面那首诗中,此时我们想取‘一’字又该怎么做呢?

poetry = "最是那一低头的温柔,像一朵水莲花不胜凉风的娇羞"

下标法:

如果要取‘扬’字,那我们从第1个字符,从0数起,那么‘一’应该是3,则可以表示的代码为:

poetry = "最是那一低头的温柔,像一朵水莲花不胜凉风的娇羞"

print(poetry[3])

运行后得到的结果为:

e7c50b981e7b46c18a2ba112c2285e38?from=pc

这是从左往右数,为正整数。同样的,我们也可以从右往左数,比如取‘风’字,则可以:

poetry = "最是那一低头的温柔,像一朵水莲花不胜凉风的娇羞"

print(poetry[3])

print(poetry[-4])

运行后得到的结果为:

62398b7a5e804b11aefead45ff8df5c8?from=pc

从左往右数,为正整数。从右往左数,则是从-1开始。这在python中叫下标取值。下标取值,可以在后面讲到的数据类型,元组、列表中使用,同时也可以在很多自定义类中使用。

切片法:

如果我们想取‘一低头’的温柔,又怎么取呢?我们可以想象一下,如果手里有两把标尺,那么我们只需要同时按下标法,切下去即可,所以可以这样表示:

运行结果:

dcb91898d92848bba03a92fe8582e76f?from=pc

为什么不是poetry([2:5])呢,因为此语法的规则是,左闭右开。要想取的字符,在右边需要+1。如果想取‘一朵水莲花’,那么我们可以:

print(poetry[-12:-7])

运行结果:

5f3c442ee611433f8e2b8035d4afc1b3?from=pc

如果我们想取‘娇羞’,那么我们可以省略右边的区间,则只需要:

print(poetry[-2:])

运行的结果:

d41493e4cea54eaead8eb48a3d1e7b00?from=pc

同样,我们要取‘最是那一低头的温柔’,则可以:

print(poetry[:9])

运行结果:

4796edc5cf27468bb98f777ad4b7a72e?from=pc

如果字符串很多,我们无法数出是第几个位置时怎么办呢?此时我们只需结合前面字符串的方法,使用str.index(字符串)来获取开始、结束的位置,再使用切片,即可获取到内容:

start_index = poetry.index('一朵')

end_index = poetry.index('不胜')

print(poetry[start_index:end_index])

运行结果:

a3be619df7284d84b54861e725737c81?from=pc

最后总结:

1. 下标法,从左往右数是从0开始;从右往左数是-1开始。

2. 切片取值时,是左闭右开,右边的下标数需要+1。

3. 灵活的取值方法,可能会结合前文讲到的字符串的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值