分类
Python1

字符串序列

学习目标:1.熟悉字符串序列的各项操作:切片、分割、合并等。2.字符串的格式化输出:format()函数、格式化排版。3.补充知识:集合的创建、集合元素的增加、删除。

1、创建字符串:

>>> a='abc'  #通过单引号创建
>>> b="abc"  #通过双引号创建
>>> print(a,b)
abc abc
#连续三个单引号或三个双引号,可以创建多行字符串。
>>> test = ''' name="张三"
... gender="男"   age=13
... score=98'''
>>> print(test)
 name="张三"
gender="男"   age=13
score=98

2、空字符串和len()函数

>>> a=""
>>> len(a)
0
>>> b="好好xuexi"
>>> len(b)
7

3、字符串的本质就是字符序列,所以也可以通过在字符串后面添加[],在[]里面指定下标(偏移量),来提取该位置的单个字符。
正向搜索:
最左侧第一个字符,下标是0,第二个下标是1,以此类推。直到len(str)-1为止。
反向搜索:
最右侧第一个字符,下标是-1,倒数第二个下标是-2,以此类推,直到-len(str)为止。

>>> a = "abcdefg"
>>> a[0]
'a'
>>> a[6]
'g'
>>> a[-1]
'g'
>>> a[-7]
'a'

4、replace()实现字符串替换
字符串是“不可变”序列,通过[]可以获取字符串指定位置的字符,但是不能修改字符内容,否则会报错。
replace()通过创建新的字符串来实现字符串的修改(字符替换)。

>>> a = "abcdefg"'
>>> a[0]="h"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> a = a.replace("a","h")
>>> a
'hbcdefg'

5、字符串切片slice操作 切片slice操作可以提取子字符串。标准格式为: [起始偏移量start:终止偏移量end:步长step]

6、split()分割和join()合并 split()可以指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)。join()用于将一系列子字符串连接起来。

>>> a="a b c d a b c d"
>>> a.split()
['a', 'b', 'c', 'd', 'a', 'b', 'c', 'd']
>>> a.split("a")
['', ' b c d ', ' b c d']
>>>
>>> a=["张三","男","3岁"]
>>> "*".join(a)
'张三*男*3岁'

7、字符序列的搜索操作
(1)in /not in 关键字,判断某个字符(子字符串)是否存在于字符串中。
(2)index()获取某个字符在字符串中的下标位置。

>>> a="a b c d a b c d"
>>> "h" in a
False
>>> "c" in a
True
>>> a.index("c")
4
>>> a.index("h")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

8、字符串的格式化
(1)format()函数:基本语法是通过{}来指定参数位置
(2)格式排版
center() 居中对齐
ljust() 左对齐
rjust() 右对齐

>>> a="姓名:{0},年龄:{1},{0}是学霸"
>>> a.format("张三",3)
'姓名:张三,年龄:3,张三是学霸'
>>> a="abcd"
>>> a.center(10,"*")
'***abcd***'
>>> a.center(8)
'  abcd  '
>>> a.rjust(10,"@")
'@@@@@@abcd'
>>>

9、字符串的其他操作
(1)去除首尾信息
(2)大小写转换(产生新的字符串),示例:a = ‘i am is Jime’

10、补充知识:集合
集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典中的“键”,所以集合中的元素是不能重复的且唯一的。
集合的创建
(1)使用{}来创建集合
(2)使用set(),将列表、元组等可迭代对象转成集合
(3)add()方法添加元素
(4)remove()删除指定元素;clear()清空整个集合

>>> a = {1,2,3}
>>> a
{1, 2, 3}
>>> b=set(a)
>>> b
{1, 2, 3}
>>> a.add(9)
>>> a
{1, 2, 3, 9}
>>> a.remove(3)
>>> a
{1, 2, 9}