python字符串和序列

字符串

python字符串,列表,元组都是序列

str1 = "I Love Python"
str1[:6] #字符串的分片,用法和列表,元组一样
# 'I Love'
str1[5]  #字符串的随机访问,用法和列表,元组一样
# 'e'
str1[:6] + '插入的字符串'+str1[6:]
# 'I Love插入的字符串 Python'
str1
# 'I Love Python'
str1 = str1[:6] + '插入的字符串'+str1[6:]
str1
# 'I Love插入的字符串 Python'

比较操作符,逻辑操作符,成员操作符(in, not in)的使用和列表,元组是一样的

字符串中常用的方法

str2 = "xiaoxie"
str2.capitalize()  #将字符串的首字母变成大写
# 'Xiaoxie'  
str2 = "DAXIE"
str2.casefold()    #将字符串的所有字母变成小写
# 'daxie'
str2.center(40)    #将字符串居中,左右各40个空格
# '                 DAXIE                  ' 
str2.count('A')
# 1
str2.count('A',2)
# 0
str2.count('A',1,3) #统计字符串在str2中出现的次数,start和end表示范围
# 1
str2.endswith('E')  #判断字符串是否以指定的字符串结尾
# True
str3 = 'I\tLove\tPython'
str3.expandtabs()   #将\t用空格替换
# 'I       Love    Python'
str3 = 'I\tLove\tPython'
str3.find('L')
# 2
str3.find('Love')
# 2
str3.find('Love',7)
# -1
str3.find('Love',1,7)  #在str3中查找sub字符串,范围从start到end
# 2

index(sub, start, end)用法和find一样,只是在找不到sub子串的时候抛出异常
isalnum():如果字符串中至少有一个字符且所有字符都是字母或数字则返回True,反之False
isalpha():如果字符串中至少有一个字符且所有字符都是字母则返回True,反之False
isdecimal():如果字符串只包含十进制数字则返回True,否则返回False
isdigit():如果字符串只包含数字则返回True,否则返回False

str4 = '小甲鱼'
str4.islower() #如果字符串全是小写,返回True,否则返回False
# False
str1 = '78475'
str1.isnumeric()  #如果字符串只包含数字字符,返回True,否则返回False
# True

isspace():如果字符串只包含空格,返回True,否则返回False
istitle():如果字符串是标题化(所有单词都是以大写开头,其余字母均小写),返回True,否则返回False
isupper():如果字符串全是大写,返回True,否则返回False

str = '小甲鱼'
str.isupper()
# False
str1 = "python"
str1.join('12345') #以sub作为分割符分割str1
# '1python2python3python4python5'
str1.join("好的")
# '好python的'
str1.ljust(20)  #左对齐,并使用空格填充至长度为width的新字符串
# 'python              '

lower():将字符串中的所有大写字母转换为小写
lstrip():去掉字符串左边的所有空格
rstrip():去掉字符串末尾的空格

str6 = 'i love fishc'
str6.partition('ov') #找到sub,把字符串分成一个三元组(pre_sub,sub,ful_sub),如果找不到sub,就返回('原字符串',' ',' ')
# ('i l', 'ov', 'e fishc')
str6
# 'i love fishc'
str6.replace('fishc','fishC') # 替换,replace(old,new,count),如果count指定,则替换不超过count次
# 'i love fishC'
str6
# 'i love fishc'

rfind(sub,start,end):类似find方法,从右边开始查找
rindex(sub,start,end):类似index方法,从右边开始查找
rjust(width):类似ljust(width)方法

str1 = 'Index'
str1.rjust(20)
'               Index'
str1.rjust(3)
'Index'

rpartition():类似partition()方法,从右边开始查找
rstrip():删除字符串末尾的空格

str6
'i love fishc'
str6.split()    #默认以空格为分割符
['i', 'love', 'fishc']
str6.split('i') #自动切片
['', ' love f', 'shc']
str4 = 'I\nLove\nPython'
str4
# 'I\nLove\nPython'
print(str4)
# I
# Love
# Python
str4.splitlines() #以'\n'作为分割符,返回列表
# ['I', 'Love', 'Python']
str4.splitlines(2) #如果keepends指定,则返回前keepends行
# ['I\n', 'Love\n', 'Python']

startswith(fix, start, end):类似endswith方法
strip(chars):删除字符串前面和后面的所有空格,chars可以定制删除的字符
swapcase():翻转字符串中的大小写
title():返回标题化(所有单词都是以大写开头,其余字母均小写)的字符串

str8 = 'aaaaaabaaaaaa'
str.maketrans('a', 's')  #指定规则,用'a'替换's'
# {97: 115}
str8.translate(str.maketrans('a', 's')) #根据规则转换字符串
# 'ssssssbssssss' 

upper():将字符串中的所有小写字母转换成为大写

str = 'str'
str.zfill(6) #原字符串右对齐,返回长度为width左边用0填充的字符串
# '000str'

字符串格式化

"{0} love {1}.{2}".format("I", "FishC", "com") #位置参数
# 'I love FishC.com'
"{a} love {b}.{c}".format(a = "I", b = "FishC", c = "com") #关键字参数
# 'I love FishC.com'
"{0} love {1}.{a}".format("I", "FishC", a = "com") #位置参数和关键字参数可以混合使用,但是位置参数必须在关键字参数之前
# 'I love FishC.com'
"{{0}}".format("不打印") #相当于转义
# '{0}'
"{0:.1f}{1}".format(27.658,"GB") #:号表示格式化符号的开始
# '27.7GB'  

字符串格式化符号含义

格式化符号含义

'%c' % 97
# 'a'
'%c %c %c' % (97, 98, 99) 
# 'a b c'
'%s' % 'I Love Fishc.com'
# 'I Love Fishc.com'
'%d + %d = %d' % (4, 5, 4 + 5)
# '4 + 5 = 9'
'%o' % 10     #将十进制的数格式化成八进制的数
# '12'
'%x' % 10
# 'a'
'%X' % 10     #将十进制的数格式化成16进制的数
# 'A'
'%f' % 27.658  #格式化定点数,可以指定小数点后的精度,默认小数点后保留6# '27.658000'
'%e' % 27.658  #用科学计数法格式化定点数
# '2.765800e+01'
'%E' % 27.658  #用科学计数法格式化定点数
# '2.765800E+01'
'%g' % 27.658  
# '27.658'

格式化操作符辅助指令

辅助指令

'%5.1f' % 27.658  #5表示占位符
# ' 27.7'
'%.2e' % 27.658
# '2.77e+01'
'%-10d' % 5   #-号表示左对齐
# '5         '
'%+d' % 5
# '+5'        #+号表示在正数前面显示加号

'%#o' % 10 #将十进制的数格式化成八进制的数,并在前面加上'0o'
# '0o12'
'%#x' % 10 #将十进制的数格式化成16进制的数,并在前面加上'0x'
# '0xa'
'%010d' % 5
# '0000000005' #显示的数字前面填充0,取代空格
'%-010d' % 5
# '5         '

字符串转义字符含义

转义字符
‘\a’不能发出系统响铃声,打印一个圆点

列表,元组和字符串的共同点

  • 都可以通过索引得到每一个元素
  • 默认索引值都是从0开始
  • 都可以通过分片的方法取得一个范围内的元素集合
  • 有很多共同的操作符(重复操作符*,拼接操作符+,成员关系操作符in和not in)

序列

a = list()  #生成一个空列表
a
# []
b = 'I love fishC.com'
b = list(b) #把一个可迭代的b转换成为列表
b
# ['I', ' ', 'l', 'o', 'v', 'e', ' ', 'f', 'i', 's', 'h', 'C', '.', 'c', 'o', 'm']

tuple函数和list函数一样
str函数将一个对象转换成字符串

max(1, 2, 3, 4, 5)
# 5
b
# ['I', ' ', 'l', 'o', 'v', 'e', ' ', 'f', 'i', 's', 'h', 'C', '.', 'c', 'o', 'm']
max(b)
# 'v'
num = [1,5,45,56,-9,0]
max(num)
# 56
min(num)
# -9
chars = '1234567890'
min(chars)
# '0'
tuple1 = (1,2,3,4,5,6,7,8,9,0)
max(tuple1)
# 9

sum(iterable, start = 0)

tuple2 = (4.3,1.2,4.5,)
sum(tuple2)
# 10.0
sum(tuple2, 8) #对tuple2求和再加上start
# 18.0
chars
# '1234567890'
sum(chars) #只能对数字类型求和

Traceback (most recent call last):
  File "<pyshell#94>", line 1, in <module>
    sum(chars)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
num
[1, 5, 45, 56, -9, 0]
sorted(num) #排序
[-9, 0, 1, 5, 45, 56]
reversed(num) #返回一个可迭代的对象
# <list_reverseiterator object at 0x000000EC3AA15198>
list(reversed(num))
# [0, -9, 56, 45, 5, 1]
num
# [1, 5, 45, 56, -9, 0]
enumerate(num)  #返回一个枚举对象
# <enumerate object at 0x000000EC3AA18A68>
list(enumerate(num))
# [(0, 1), (1, 5), (2, 45), (3, 56), (4, -9), (5, 0)]
a = [1,2,3,4,5,5,6,7,8]
b = [4,5,6,7,8]
zip(a, b)  
# <zip object at 0x000000EC3A76DCC8>
list(zip(a, b))
# [(1, 4), (2, 5), (3, 6), (4, 7), (5, 8)]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值