Python学习--Task04:字符串与序列

字符串

1、字符串基本操作

字符串中索引字符

str="I Love NCEPU"
print(str[3])
print(str[:6])

输出:

o
I Love

注:空格也算一个字符。

拼接字符串:运用切片的方法插入字符串:

str="I Love NCEPU"
str1=str[:6]+"插入的字符串"+str[6:]
print(str1)

2、字符串各种内置方法

  1. capitalize:把字符串第一个字符改为大写
str="ncepu"
str1=str.capitalize()
print(str1)
  1. casefold():将字符串所有字符改为小写
str="NCEPU"
str1=str.casefold()
print(str1)
  1. center(width)
  2. count(sub,start,end)
str="abcfefggfed"
n1=str.count("g")
n2=str.count("f",0,3)
n3=str.count("f",0,4)
print(n1)
print(n2)
print(n3)

注意:end的取值。

  1. encode()
  2. endswith()
str="abcfefggfed"
print(str.endswith("ed"))
print(str.endswith("e",0,4))

输出为:

True
False
  1. expandtabs()
str="a\tb\tc\td\t"
print(str.expandtabs())

等…

汇总

语句作用
capitalize()把字符串第一个字符改为大写
casefold()将字符串所有字符改为小写
center(width)将字符串居中,并使用空格填充长度至width的新字符串
count(sub,start,[end])返回sub在字符串中出现的次数,start,end表示参数范围,可选
encode(encoding=‘UTF-8’,errors=‘strict’)以encoding指定的编码格式对字符串进行编码
endswith(sub,start,end)检查字符串是否以sub子字符串结束,如果是,返回True,不是,返回False
expandtabs()把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格就是tabsize=8
find(sub,start,end)检测sub是否包含于字符串中,如果有则返回索引值,否则返回-1
index(sub,start,end)作用与find类似,但如果字符串中没有指定字符会报错
isalnum()如果字符串至少有一个字符,并且所有字符都是字母或数字则返回True,否则返回False
isalpha()如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
isdecimal()检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false
isdigit()如果字符串只包含数字则返回 True 否则返回 False
islower()如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
isnumeric()如果字符串中只包含数字字符,则返回 True,否则返回 False
isspace()如果字符串中只包含空白,则返回 True,否则返回 False
istitle()如果字符串是标题化的(所有单词均是以大写开始,其余字母均小写)则返回 True,否则返回 False
isupper()如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
join(seq)以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
len(string)返回字符串长度
ljust(width[, fillchar])返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格
lower()转换字符串中所有大写字符为小写
lstrip()截掉字符串左边的空格或指定字符
maketrans()创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标
max(str)返回字符串 str 中最大的字母
min(str)返回字符串 str 中最小的字母
replace(old, new [, max])把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次
rfind(str, beg=0,end=len(string))类似于 find()函数,不过是从右边开始查找
rindex( str, beg=0, end=len(string))类似于 index(),不过是从右边开始
rjust(width,[, fillchar])返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
rstrip()删除字符串字符串末尾的空格
split(str="", num=string.count(str))num=string.count(str))以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
splitlines([keepends])按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符
startswith(substr, beg=0,end=len(string))检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查
strip([chars])在字符串上执行 lstrip()和 rstrip()
swapcase()将字符串中大写转换为小写,小写转换为大写
title()返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
translate(table, deletechars="")根据 str 给出的表(包含 256 个字符)转换 string 的字符,要过滤掉的字符放到 deletechars 参数中
upper()转换字符串中的小写字母为大写
zfill (width)返回长度为 width 的字符串,原字符串右对齐,前面填充0

3、字符串格式化

  1. format()
str="{0} love {1}".format("I","ncepu")
print(str)
str1="{a} love {b}".format(a="I",b="ncepu")
print(str1)
str2="{0} love {b}".format("I",b="ncepu")
print(str2)
str3="{{0}}".format("不打印")#输出{0}
print(str3)
  1. 字符串格式化符号及含义
符号说明
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%f 和 %E 的简写

实例:

  1. %c
str="%c"%97
print(str)
print("%c %c %c"%(97,98,99))#必须有括号

输出为:

a
a b c
  • %s、%d
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

输出:

我叫 小明 今年 10 岁!

等…

序列

列表、元组、字符串的共同特点:

  • 都可以通过索引得到每一个元素;
  • 默认索引值都是从0开始;
  • 可以通过分片的方法得到一个范围内的元素的集合;
  • 有很多共同的操作符(重复、拼接、成员关系操作符)。
    把他们三个统称为序列。

序列常见BIF:

名称说明
list()把一个可迭代对象转换为列表
tuple([iterable])把一个可迭代对象转化为元组
len(sub)返回sub的长度
max()返回序列中的最大值
min()返回序列中的最小值
sum(iterable[,start=0])返回序列iterable和可选参数start的总和
sorted()排序,默认从小到大
reversed()倒置序列
enumerate()枚举[(index1,item1),[index2,item2],…]
zip()返回由各个参数的序列组成的元组

实例:

a=list()#不加参数返回空列表
print(a)
b="ncepu"
b=list(b)
print(b)
c=(1,2,3)
c=list(c)
print(c)

输出为:

[]
['n', 'c', 'e', 'p', 'u']
[1, 2, 3]
  1. sum()
numbers=[1,3,38,66,423,55]
print(sum(numbers))
print(sum(numbers,4))

输出为:

586
590
  1. sorted()
numbers=[1,3,38,-66,423,55]
print(sorted(numbers))
  1. reversed()
numbers=[1,3,38,-66,423,55]
print(list(reversed(numbers)))
  1. enumerate()
numbers=[1,3,38,-66,423,55]
print(list(enumerate(numbers)))

输出为:

[(0, 1), (1, 3), (2, 38), (3, -66), (4, 423), (5, 55)]
  1. zip()
a=[1,2,3,4,5,6,7,8]
b=[4,5,6,7]
print(list(zip(a,b)))

输出:

[(1, 4), (2, 5), (3, 6), (4, 7)]

参考文献

https://www.runoob.com/python3/python3-string.html
https://www.bilibili.com/video/av4050443/?p=17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值