python的数据结构(三)string及其打印

1. 字符串

1.1一些基本的性质

字符串是一个不可变对象。

上次说元组是不可变对象,是因为元组没有增删改这种功能,字符串也是一样的。

a = 'a'
a += 'b'

a
'ab'

这样的行为,是创造了一个新的字符串 ‘ab’ ,储存在内存中,并赋值给了a 。

原来的字符串’a’ ,还是按原来的样子放在内存里。

python3 的字符串用的是Unicode码 类型
Unicode 码包括中、日、韩三种文字,它是一种字符集,把每个字用一定的编码代表。

字符串是一个可迭代对象,支持索引访问
当字符串被当做可迭代对象时,是从左往右,依次把字符带入,注意,一些空格 ’ ’ 也是字符,也会被迭代。

a = 'suck my dick'
for chr in a:
    print(chr,end=':')

s:u:c:k: :m:y: :d:i:c:k: # 注意,空格也是字符,前后也有: 标记

要索引时,从左往右看,第一个字符索引号为0,第二个为1,依次类推。同时字符串支持负索引,最后一个字符的索引号为-1 , 倒数第二个字符是-2 ,以此类推。

a[0]
's'

a[4]
' '

a[-5]
' '

1.2 和字符串有关的一些函数

1.2.1 ‘sep’.join(sql)

用分隔符 ‘sep’ ,把 sql 这个字符串的每个字符分隔开来。
注意,这个分隔符必须是字符串类型 (str) 。

a = 'suck my dick'
'@'.join(a)

's@u@c@k@ @m@y@ @d@i@c@k'
# 就是把分隔符sep,join到,字符串语句sql中

1.2.2 ‘sql’.split(sep = None[,maxsplit = -1])

这个不是创造分隔符sep,是从已有的字符串语句’sql’ 中,找到指定的分隔符,拿走分隔符,然后从这里分开字符串。分隔符必须是字符串类型。

返回一个,包含分开之后的字符串的列表,列表顺序不变

a = 'suck my dick'
a.split('')
['suck ', 'y dick']

maxsplit 可以指定分隔多少次,缺省为-1 ,也就是,只要找到都分隔。指定为1的话,就在sql ,从左往右的顺序找,找到第一个,分隔。

a = 'suck my dick'
a.split('k')
['suc', ' my dic', '']
# 注意,就算第二个k,后面没有字符了,split()也会分隔,后面切出一个空字符串''

a.split('k',maxsplit = 1)
['suc', ' my dick']
# 只切从左往右数的第一个'k',第二个不切

也可以不指定分隔符sep,因为sep 缺省值为 None,不指定的话,就以空格符分隔 ’ ’ 。

a.split()
['suck', 'my', 'dick']

1.2.3 ‘sql’.rsplit()

用法和split() 是一模一样的,这个r 代表的是right,意思就是从右开始切。

a = 'suck my dick'
a.rsplit(maxsplit=1)
['suck my', 'dick']

1.2.4 ‘sql’.splitlines(keepends = False)

\n ,\r 属于换行符.
\r 很牛逼,在一串字符串中

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值