python--切片,字符串操作

切片

  • int转换成bool 零: False 非零: True
  • "" 空字符串表示False, 非空字符串表示:True
  • None为 False
  • 通过索引获取到的内容. 还是一个字符串
  • 切片可以对字符串进行截取
  • 语法 s[起始位置: 结束位置:步长]
  • 特点:顾头不顾尾
s = "早起的鸟儿有虫吃"
print(s[0])  #
print(s[1])  #
print(s[-1])  # 吃   -1表示最后一个
print(s[-2])  #
print(s[5:10])  # 有虫吃
print(s[5:])  # 有虫吃  默认到结尾
print(s[:10])  # 从头开始
print(s[:])  # 从头到尾都切出来
print(s[-2:])  # 虫吃 从-2 切到结尾  默认从左往右
print(s[1:5:2])  # 起鸟 从1开始, 到5结束, 每2个取1个
print(s[::3])  # 早鸟虫
print(s[6:2:-1])  # 虫有儿鸟 - 表示反着来. 每两个取1个
print(s[-1:-6:-2])  # 吃有鸟

字符串操作

s = "abc123"
print(s.isdigit())  # 判断字符串是否由数字组成
print(s.isalpha())  # 是否由字母组成
print(s.isalnum())  # 是否由字母和数字组成

结果:

False
False
True
name = 'my name is zou zou'
print(name.capitalize())  # 首字母大写
print(name.count('z'))  # 统计z的个数
print(name.center(50, '-'))  # 一共打印50个字符,不够了用-补上,把name的内容放中间
print(name.endswith('ou'))  # 判断已什么结尾,正确返回 True,错误返回False
print(name.find('i'))
print(name[name.find('i'):])
print('123'.isdigit())  # 是整数返回True,要引号引起来
print('if'.isidentifier())  # 判断是不是一个合法的变量名

结果:

My name is zou zou
2
----------------my name is zou zou----------------
True
8
is zou zou
True
True

join可以把列表变成字符串, 把字符串变成列表.split()

s = '我是'
print(s.join("abc"))  # 把字符串s插入到abc中

结果:

a我是b我是c

name = '我是'
print(name.join(['11', '22', '33']))

结果:

11我是22我是33
name = 'my name is zou zou'
print('='.join(['1', '2', '3']))  # 1=2=3
print(''.join(['1', '2', '3']))  # 123
print(name.ljust(50, "*"))  # 长度为50,不够的在右边用*补
print(name.rjust(50, "*"))  # 长度为50,不够的在左边用* 补
print('ZOU'.lower())  # 将大写变小写
print('zou'.upper())  # 将小写变大写
print('          
Alex'.lstrip())  # 去掉左边的空格
print('    
Alex
'.rstrip())  # 去掉右边的空格
print('
Alex
'.strip())  # 去掉两边的空格
print('alex li'.replace('l', 'L', 1))  # 替换
print('alex Li'.rfind('L'))  # 返回最右边l的下标
name = 'my name is zou zou'
print('1+2+3+4'.split('+'))  # 按任意字符将字符串转换成列表
print(name.title())  # 将每个单词的首字母大写

结果:

['1', '2', '3', '4']
My Name Is Zou Zou
name = 'my name is {name} and i am {age} old'
print(name.format(name='Alex', age='33'))  # 格式化
print(name.format_map({'name': 'zou zou', 'age': 23}))  # 格式化接收的是字典

结果:

my name is Alex and i am 33 old
my name is zou zou and i am 23 old
原文地址:https://www.cnblogs.com/zouzou-busy/p/12994844.html