进阶学习2-字符串

2020-01-29  本文已影响0人  龙猫六六
函数 描述
字符串 不可变
s1 += s2 s1不在有引用,会扩大buffer,不新建字符串对象
切片 支持
去除空格 strip , lstrip, rstrip
拼接 '.'.join(str)
格式化 '{}'.format(a)

字符串

s1 = '123'
s2 = '123'
print('s1 id is {}'.format(id(s1)))
print('s2 id is {}'.format(id(s2)))
#新建字符串
s2 = s2 + '4'
print('s1 id is {}'.format(id(s1)))
print('s2 id is {}'.format(id(s2)))

字符串常用操作

切片

s3 = 'abcdefg'
print(s3[:3])
print(s3[3:-1])

拼接

s1 += s2
Python 首先会检测 s1 还有没有其他的引用。如果没有的话,就会尝试原地扩充字符串 buffer 的大小,而不是重新分配一块内存来创建新的字符串并拷贝。这样的话,上述例子中的时间复杂度就仅为 O(n) 了。

string.join(iterable)

s5 = '123'
l = '.'.join(s5)
print(l)

strip去空格

s4 = ' 123 456 '
print(str.lstrip(s4))
print(str.rstrip(s4))
print(str.strip(s4))
上一篇 下一篇

猜你喜欢

热点阅读