-
容器分为两大类
-
序列 : 包括字符串和列表
-
非序列
-
对字符串和列表的操作
拼接字符串和列表
>>> 'abc' + 'def' # 拼接两字符串
'abcdef'
>>> [1,2,3] + [4,5,6] # 拼接两列表
[1, 2, 3, 4, 5, 6]
>>> s1 = '123'
>>> s2 = '456'
>>> s3 = s1 + s2
>>> s3
'123456'
>>> s1 # 值不变
'123'
>>> s2
'456'
重复字符串和列表
>>> s1 = '123'
>>> s2 = '456'
>>> s1*3 # 重复三遍
'123123123'
>>> [1,2,3] * 2
[1, 2, 3, 1, 2, 3]
判断元素在不在字符串或者列表当中
>>> '3' in s1 # 判断‘3’在不在s1中
True
>>> '4' not in s2
False
>>> t = [1,2,3]
>>> 1 in t
True
>>> [1,2] in t
False
>>> [1,2] in [[1,2], 3] # 判断子列表在不在列表当中,子列表也要是一个元素
True
取单个元素
>>> s1 = '123'
>>> s1[1] # 用编号取表达其中每一个元素,第一个编号是0
'2'
>>> s1[0] # 第1个 《==》 第0号
'1'
>>> [1,2,3,4,5][4]
5
>>> 'This is a Test'[6]
's'
>>> s1[4] # 越界,报异常
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range # 列表的索引超过了范围
>>> s1[-2] # 倒着数,最后一个元素是[-1]
'2'
###################################修改元素###############################################
>>> t = [1,2,3]
>>> t[0] = 4
>>> t
[4, 2, 3]
>>> s1[0] = '4' # 字符串不能用这种方式来修改其中的字符
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment # 不支持元素赋值
字符串相关操作
# 字符串中需要出现单引号'或者双引号"
>>> str = "It's a good day" # 需要单引号,用双引号进行包裹。同理,需要双引号,用单引号包裹
>>> str
"It's a good day"
>>> str1 = 'It\'s a good day' # 借助转义字符
>>> str1
"It's a good day"
>>> s = '''This is
... a good
... day'''
>>> print(s) # 这里字符串特别长的时候,用三个单引号括起来''' ''',可以换行,跨行
This is
a good
day
>>> s = 'this\
... is\
... a\
... test.\
... '
>>> s # 用\实现长字符串的方式
'thisisatest.'
>>> s = r'this\nis\na test\n' # 这里表示是原始的字符串,其中的'\'是不被当成转义字符的
>>> s
'this\\nis\\na test\\n'
>>> print(s)
this\nis\na test\n