python容器--字符串string

容器分类

序列化容器:包括字符串,列表,元组

序列化容器根据索引(下标)访问元素,支持切片操作

非序列化容器:包括字典,集合

非序列化容器不支持索引(下标)的方式访问元素,不支持切片操作

字符串的定义方式

字符串使用一对单引号来定义.
字符串使用一对双引号来定义.
字符串使用一对三引号来定义.
一般我们在定义字符串时候, 使用两个单引号或者两个双引号, 很少使用三引号.

字符串的操作

1.字符串的遍历

字符串属于序列式容器, 支持依据索引的操作.
字符串属于序列式容器, 支持依据索引的操作.

序列式容器.遍历时从索引为0的位置开始遍历,并不是1,也就是从下标为0的地方开始遍历,类似数组

str = "name"
i = 0
while i < len(str):
    print(str[i],end="")
    i += 1
2.字符串的替换

使用replace方法完成

replace(old_str,new_str)
replace(old_str,new_str,count)
count表示如果字符串中old_str出现多次,替换第count次出现的old_str

举例如下:

str = "你是谁"
new_str = str.replace("你", "我")
print(str)
print(new_str)

运行结果:
   你是谁
   我是谁
3.字符串查找和切片

查找:
使用find方法实现,该方法可返回查找字符串第一次出现的位置, 查找字符串不存在则会返回-1.
position=find(“str”)
position=find(“str”,0,10) 表示在某个范围内查找
查找默认返回的是被查找字符串的位置,下标从0开始

str="hello world! hello python"
str1= str.find("e")
print(str1)

运行结果:
	1

# 没有查找到字符串a,所以结果返回的是-1
str="hello world! hello python"
str1= str.find("a")
print(str1)

运行结果:
	-1

切片:
获取某个范围内的字符串
方法:使用索引截取

str="abcdefg"

# 反转字符串
print(str[::-1])

# 左闭右开,即能获取到左边的,却获取不到右边的
print(str[1:5])    

# 起始位置不写,默认从0开始,
print(str[:3])     

# 同理,结束位置不写,默认到最后一个位置的下一个位置
print(str[2:])   

运行结果:
 	gfedcba
	bcde
	abc
	cdefg

# 位置也可以使用负数
print(str[-3:-1])   
print(str[-8:-2:2])  

运行结果:
	ef
	ace

步长:每隔多少个字符选取一个字符,组成一个新的序列
也可以为负数,表示倒着截取

str="abcdefg"
print(str[::2])
print(str[::-2])  # 倒着截取

运行结果:
	aceg
	geca
4.字符串的分割

分割:
方法:split(“a”)
以字母a分割两部分,两部分都不包括字母a

user_email="username@163.com"
result=user_email.split("@")
print(result)

运行结果:
	['username', '163.com']
5.字符串去除两侧空格,是否为字母

去除字符串两侧空格
方法;strip()
注:此方法只能去除两侧的空格,中间位置的空格并不能去掉

str="  hello world!"
print(str)
str1=str.strip()
print(str1)

运行结果:
	  hello world!
	hello world!

判断字符串中是否为字母
方法:isalpha()
注:如果字符串中出现了非字母(如空格),则不会输出结果

# 字符串str中有空格和!,所以不是全部都是字母,结果为NO
str="  hello world!"
print(str)
if str.isalpha():
    print("YES")
else:
	print("NO")
 

运行结果:
	NO
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值