Python基础——字符串

在Python中,字符串是不可变的。所以无法直接删除、插入字符串之间的特定字符。所以想对字符串中字符进行操作的时候,需要将字符串转变为列表,列表是可变的,这样就可以实现对字符串中特定字符的操作。

1、字符串的添加:

A 用“+”号来连接

	print("江苏南京雨花台" + "春江新城")
	# 结果:江苏南京雨花台春江新城

B 用.join()来连接

	a = "江苏南京雨花台"
	b = "春江新城"
	print("".join([a, b]))
	# 结果:江苏南京雨花台春江新城

用空字符串,把两个文本连接

C 字符串的插入:
首先将字符串转换为列表,然后使用列表的 .insert() 方法来插入字符,再用.join()方法来连接列表。注意:.insert() 方法不返回参数

	a = list("江苏南京雨花台春江新城")
	a.insert(4, "*")
	print("".join(a))
	# 结果:江苏南京*雨花台*春江新城
2、字符串的修改

A 将字符串转换成列表后,用下标方法重新赋值,然后用join组成新字符串。

	a = list("江苏南京雨花台春江新城")
	a[7] = "红"
	a[8] = "悦"
	a[9] = "城"
	a[10] = ""
	print("".join(a))
	# 结果:江苏南京雨花台红悦城

B 通过字符串序列切片方式

	a = "江苏南京雨花台春江新城"
	a = a[:7] + "天地新城"
	print(a)
	# 结果:江苏南京雨花台天地新城

或者:

	a = "江苏南京雨花台春江新城"
	a = a[2:4] + a[7:]
		print(a)
	# 结果:南京春江新城

C 使用字符串的replace()函数 (“前面是旧的”, “换成新的”)

	a = "江苏南京雨花台春江新城"
	a = a.replace("雨花台", "江宁区").replace("春江新城", "书香名苑")
	print(a)
	# 结果:江苏南京江宁区书香名苑

D 通过变量重新赋值

	a = "我是安徽人"
	a = "我是安徽枞阳人"
	print(a)
	# 结果:我是安徽枞阳人
3、字符串的查询

A 两类函数:find(), rfind() index(),rindex()
找到了都返回下标,find找不到返回-1,index找不到抛出ValueError。带r的表示从右向左找,都可以使用第二个参数表示从哪个下标开始找。
Find() rfind()是匹配子字符串,而不是匹配第一个字符

	a = "you are a good man"
	print(a.find("od",3))   # 第2个参数表示从第几下标开始
	# 结果:12

2、index()方法 rindex()
index方法是在字符串里查找子串第一次出现的位置,类似字符串的find方法,不过比find方法更好的是,如果查找不到子串,会抛出异常,而不是返回-1

	a = "you are a good man"
	print(a.index("re"))
	# 返回结果:5
4、字符串的删除

在Python中,字符串是不可变的。所以无法直接删除字符串之间的特定字符。
所以想对字符串中字符进行操作的时候,需要将字符串转变为列表,列表是可变的,这样就可以实现对字符串中特定字符的操作。
A 删除特定位置的字符,先把字符串转为列表,再用pop()方法

	a = "you are a good man"
	a = list(a)
	a.pop(4)
	print("".join(a))
	# 结果:you  re a good man

B 用replace()方法,也是先转成列表,再用空格来代替需要删除的字符串。
C strip()函数,可以去除头尾指定字符,参数为空时,默认去除字符串中头尾的空格字符。

	a = "   you are a good man  "
	print(a.strip(" "))
	# 结果:you are a good man

D 也可以用replace()函数,用 “” 来代表" "

5、字符串的比较

A 比较字符串是否相同:

==:使用来比较两个字符串内的value值是否相同
is:比较两个字符串的id值。

B 字符串的长度比较

len():显示字符串的长度,返回数字整型。可以进行长度的比较。

C 使用比较运算符

>、<、> = 、< =、比较的规则为:从第一个字符开始比较,排序在前边的字母为小,当一个字符串全部字符和另一个字符串的前部分字符相同时,长度长的字符串为大。

print("223" > "222234243")
# 结果:True
print(223 > 222234243)
# 结果:False

字符串是通过依次比较每个字符在字母表中的顺序来确定大小的吧,因为“beta”的首字符“b”在“alpha”的首字符“a”之后,所以“beta” > “alpha”。

print("alpha" > "beta")
# 结果:False

案例:

输入一段英文字符,将大写变为小写,小写改为大写

a = "You are A good man!"
b = []
for x in a:
    if "a" <= x <= "z":
        b.append(x)
    elif "A" <= x <= "Z":
        b.append(x.lower())
    else:
        b.append(x)
print("".join(b))
# 结果:yOU ARE a GOOD MAN!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值