【Python】组合数据类型:序列,列表,元组,字典,集合-序列类型
最编程
2024-07-08 08:57:53
...
序列类型的元素之间存在先后关系,通过索引来访问,当我们需要访问序列中的某个元素时,要找出其索引,再通过索引寻找元素。
这些序列类型都支持索引和切片操作,可以通过索引访问序列中的元素,也可以通过切片获取序列的子序列。此外,还可以使用内置函数和方法对序列进行操作,例如获取序列的长度、查找元素的位置、添加、删除和修改元素等。
序列常见的操作符
操作符 | 描述 |
---|---|
x in s | 如果x是s的元素,返回True,否则返回Flase |
x not in s | 如果x不是s的元素,返回True,否则返回Flase |
s +t | 连接s和t |
s n或ns | 将序列s复制n次 |
s[i] | 索引,返回序列的第i个元素 |
s[i:j] | 切片,返回序列s到第i到第j个元素的子序列(不包含第j个元素) |
s[i:j:k] | 步骤切片,返回包括序列s到第i到第j个元素以k为步长的子序列 |
len(s) | 序列s的元素个数(长度) |
min(s) | 序列s中的最小元素 |
max(s) | 序列s中的最大元素 |
s.index(x) | 序列s中第一次出现元素x的位置 |
s.count(x) | 序列s中元素x出现的总次数 |
列表
列表是 Python 中最常用的序列类型,它是由元素组成的可变序列,使用方括号括起来,并用逗号分隔。4
列表中的元素(又称数据项)不需要具有相同的类型。创建列表时,只要把逗号分隔的元素使用方括号括起来即可。列表是可变的,用户可在列表中任意增加元素或删除元素,还可对列表进行遍历、排序、反转等操作。
list = ['runoob', 786, 2.23, 'john', 70.2]
tinylist = [123, 'xue']
print(list) # 输出完整列表
print(list[0] ) # 输出列表的第一个元素
print(list[1:3]) # 输出第二个至第三个元素
print(list[2:]) # 输出从第三个开始至列表末尾的所有元素
print (tinylist * 2 ) # 输出列表两次
print (list + tinylist) # 打印组合的列表
列表操作
len()
my_list = [1, 2, 3, 4]
print(len(my_list)) # 输出4
返回列表的长度
append()
my_list = [1, 2, 3]
my_list.append(4)
print(my_list) # 输出[1, 2, 3, 4]
向列表末尾添加元素
insert()
my_list = [1, 2, 3, 4]
my_list.insert(2, 5)
print(my_list) # 输出[1, 2, 5, 3, 4]
在指定位置插入元素
remove()
my_list = [1, 2, 3, 4]
my_list.remove(3)
print(my_list) # 输出[1, 2, 4]
移除指定元素
index()
my_list = [1, 2, 3, 4]
print(my_list.index(3)) # 输出2
返回指定元素第一次出现的索引
sort()
my_list = [3, 1, 4, 2]
my_list.sort()
print(my_list) # 输出[1, 2, 3, 4]
对列表进行排序
reverse()
my_list = [1, 2, 3, 4]
my_list.reverse()
print(my_list) # 输出[4, 3, 2, 1]
反转列表
count()
my_list = [1, 2, 2, 3, 3, 3]
print(my_list.count(2)) # 输出2
返回指定元素在列表中出现的次数
元组
Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号(),列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用括号隔开即可。元组是序列类型中比较特殊的类型,因为它一旦创建就不能被修改。元组类型在表达固定数据项、函数多返回值、多变量同步赋值、循环遍历等情况下十分有用。Python中元组采用逗号和圆括号(可选)来表示。一个元组可以作为另一个元组的元素,可以采用多级索引获取信息。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表
tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'xue')
print(tuple) # 输出完整元组
print(tuple[0]) # 输出元组的第一个元素
print(tuple[1:3]) # 输出第二个至第四个(不包含)的元素
print(tuple[2:]) # 输出从第三个开始至列表末尾的所有元素
print(tinytuple * 2) # 输出元组两次
print(tuple + tinytuple) # 打印组合的元组
注:元组不允许更新,而列表是允许更新的
三种序列类型的区别
- 字符串是由单一字符组成的不可修改的序列类型。
- 列表是一个可以修改的序列类型,使用相对更加灵活。
- 元组是一个不可变的序列类型,构建好以后不可以进行任何修改。
字符串是不可变的,而列表和元组是可变的。
字符串和元组一旦创建就不能修改,而列表可以进行修改。
元素的类型可以是任意的,但是元组和字符串的元素类型必须一致。
字符串使用单引号或双引号,列表和元组使用方括号和小括号来定义。