1序列概述
- 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1 ,依此类推。
- Python中,常见序列有列表、元组、字符串。
- 序列可以进行的操作,有索引,切片,加,乘,检查成员。此外, Python已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
-
列表的数据项不需要具有相同的类型。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
概念
索引:从0开始,最后是-1,数据类型为整型(int)
元素:列表和元组的元素可以是不同数据类型,可重复。
2通用序列操作
1. 索引
2. 切片
Python中符合序列的有序序列都支持切片 如:列表,元组,字符
切片的格式:
格式:[start : end : step]
Start:起始索引,从0开始,-1表示结束
End:结束索引
Step:步长
end-start=正数时,从左向右取值,=负数时反向取值
常用的几种方式:
list2=list1[:] 全部截取
list1[0:3;1] 从0开始到3每次增加1截取,不包含索引结束位置
[0:-1:1]:从0开始到结束,每次增加1,截取不包含索引结束位置
[:3]:默认从起始位置索引,每次增加1截取,结束位置索引为3
[3:0:-1]反向取值,每次增加1截取,不包含索引结束位置
3. 序列相加
print([1,2,3]+[4,5,6]) #输出结果:[1,2,3,4,5,6]
print("Hello" + "world") #输出结果:Helloworld
print([1,2,3,4,5] + ["Hello"]) #输出结果:[1, 2, 3, 4, 5, 'Hello']
print([1,2,3,4] + ['H','e','l','l','o']) #输出结果:[1, 2, 3, 4, 'H', 'e', 'l', 'l', 'o']
#print([1,2,3,4,5,6] + "Hello") 序列不能和字符串相加,抛出异常
#print([1,2,3,4] + 5,6,7,8) 序列也不能和数值相加,抛出异常
4. 乘法
print("hello" * 3) #输出结果:hellohellohello
#复制字符串
print([20] * 5) #输出结果:[20, 20, 20, 20, 20]
#复制序列
"""
如果想创建一个占用6个元素空间,这个时候需要用到None
None是一个Python的内建值,它表示"这里什么也没有"
"""
print([None]*6) #输出结果:[None,None,None,None,None,None]
5. 常用内置函数
1. 长度len()
2. 最小值min()
3. 最大值max()
d=[1,2,3]
print(len(d)) #输出结果: 3
min_x=[1,2,3]
print(min(min_x)) #输出结果: 1
max_y=[1,2,3]
print(max(max_y)) #输出结果: 3
3列表与元组
列表
列表元素特点:可修改,可重复,可嵌套,支持多种数据类型
- 函数list()
- 基本列表操作
- 创建 name = list()或[] 或[1, 2]或[1, [1, 2]]
- 增 append extend
- 删 del clear pop remove
- 改 name[1]=2
- 查
- count, index
- 内置函数min, max, len, in, not in
元组
元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号
元组创建很简单,只需要在小括号中添加元素,并使用逗号隔开
即可。
元组元素特点:可重复,不可修改,可嵌套,支持多种数据类型。
常用方法
- list.append(obj)
- list.count(obj)
- list.extend(seq)
- list.index(obj)
- list.insert(index, obj)
- list.pop([index=-1])
- list.remove(obj)
- list.reverse()
- list.sort( key=None, reverse=False)
10
number = [5,9,6,8,1,2,4,3,7]
print(number) #输出结果:[5, 9, 6, 8, 1, 2, 4, 3, 7]
"""sort()方法用于源列表进行排序,注意:数据类型必须相同"""
number.sort()
print(number) #输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
"""append()方法用于在列表末尾添加新的元素"""
number.append(9)
print(number) #输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 9]
"""count()方法用于统计某个元素在列表中出现的次数"""
print(number.count(9)) #输出结果:2
print(number.count(1)) #输出结果:1
"""extend()方法用于在列表末尾一次性追加另-个序列中的多个值(用新列表扩展原来的列表)"""
number_1 = [11,12]
number.extend(number_1)
print(number) #输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 11, 12]
"""index()方法用于从列表中找出某个值第一个匹配项的索引位置 """
print(number.index(1)) #输出结果:0
print(number.index(5)) #输出结果:4
"""insert()函数用于将指定对象插入列表的指定位置 """
number.insert(0,0)#insert(插入位置,插入参数)
print(number) #输出结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 11, 12]
"""pop()方法用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值"""
number.pop()
print(number) #输出结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 11,]
print(number.pop(0)) #输出结果:0
print(number) #输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 11]
"""remove()方法用于移除列表中某个值的第一个匹配项"""
number.remove(9)
number.remove(9)#一次只能移除一个
print(number) #输出结果:[1, 2, 3, 4, 5, 6, 7, 8, 11]
"""reverse()方法用于反向列表中元素"""
number.reverse()
print(number) #输出结果:[11, 8, 7, 6, 5, 4, 3, 2, 1]
总结
列表形式及元素特点是什么?
列表在方括号内, 元素以逗号分隔
列表元素特点:可重复,可修改,可嵌套,支持多种数据类型。
元组形式及元素特点是什么?
元组在小括号中,使用逗号隔开元素。
元组元素特点:可重复,不可修改,可嵌套,支持多种数据类型。
列表与元组区别是什么?
元组与列表不同之处在于元组的元素不能修改。