序列数据结构
- 成员是有序排列的
- 每个元素的位置称为下标或索引
- 通过索引访问序列中的成员
- python中序列数据类型有:字符串、列表、元组
创建列表和元组
python中的列表和元组,可以存放不同类型的数据。
· 列表(list):使用方括号[]表示。[1,2,3]
· 元组(tuple):元组使用小括号()表示(1,2,3)
#创建列表和元组
lst_1=[1,2,3]
lst_2=[4]
lst_3=[[1,2,3],[4,5,6]]
lst_mix=[160612,"张明",18,[92,76,85]]
lst_empty=[]
print(lst_1,lst_2,lst_3,lst_mix,lst_empty)
[1, 2, 3] [4] [[1, 2, 3], [4, 5, 6]] [160612, '张明', 18, [92, 76, 85]] []
` 元组和列表的区别是:在列表中元素的个数和元素的值可以改变;但在元祖中,一经定义,元组的内容不能改变。(可以理解成元组是只读的列表)
#创建元组
tup_1=(1,2,3)
tup_empty=()
print(tup_1,tup_empty)
(1, 2, 3) ()
#只含有一个元素的元组的表示方法
t1=(1) #这样写会有歧义,这是因为小括号既可以表示元组,又可以表示数学运算中的小括号,因此,python规定,这种形式按小括号进行计算,计算结果为1
t2=(1,) #在表示只含有一个元素的元组时,通常用这种表示方法,在一个元素后面加一个逗号
print("t1=",t1,type(t1))
print("t2=",t2,type(t2))
t1= 1 <class 'int'>
t2= (1,) <class 'tuple'>
可以看到t1是一个数学表达式,结果是一个整数,t2是一个元组。
索引
索引是有方向的,正向索引是从左到右从0开始依次加1,逆向索引时从右到左从0开始依次减1。
#字符串索引
str_py="Python"
print(str_py[0])
print(str_py[-1])
P
n
#列表索引
lst_1=[1,2,3]
print(lst_1[1])
print(lst_1[-2])
2
2
切片
[开始位置:结束位置]
切片也是左闭右开的,其诶按不包括结束位置的元素。
切片的作用是:一次性从序列中获取多个元素,得到序列的子集
切片的定义中可以省略:
- 开始位置省略,从序列中第一个元素开始
- 结束位置省略,取到序列中的最后一个元素
#字符串切片
str_py="Python"
print(str_py[1:5])
print(str_py[1:])
print(str_py[:5])
ytho
ython
Pytho
#列表切片