Python序列类型
在Python编程中,一些基本的序列类型类包括列表、字符串、元组、Range等。这些数据结构保存项目的排序集合。它们允许我们通过索引和迭代访问其元素,还有其他序列类型对象,例如字节序列。
Python中的序列类型
Python中的序列类型分为两种:可变和不可变序列。
可变序列类型
这些序列可以在创建后更改,我们还可以修改元素、添加新元素和删除现有元素。
- 列表:列表是一个可变的、有序的项目集合。
-
字节数组:一个可变的字节序列,用于处理二进制数据。
- 数组:与列表类似的项目集合,但针对数值运算和存储相同数据类型的元素进行了优化。
示例
import array
# 1.List example
# creating list
my_list = [10, 20, 30, 40, 50]
# Appending element
my_list.append(60)
print(my_list)
# Removing element
my_list.remove(10)
print(my_list)
# 2.Byte Array example
# Creating byte array
my_byte_array = bytearray([15, 16, 17, 18])
# Modifying a byte
my_byte_array[1] = 19
print(my_byte_array)
# Removing a byte
my_byte_array.pop(3)
print(my_byte_array)
# 3.Array example
# Creating array of integers
my_array = array.array('i', [21, 22, 23, 24, 25])
# Modifying element
my_array[2] = 26
print(my_array)
my_array.append(26)
print(my_array)
输出
[10, 20, 30, 40, 50, 60]
[20, 30, 40, 50, 60]
bytearray(b'\x0f\x13\x11\x12')
bytearray(b'\x0f\x13\x11')
array('i', [21, 22, 26, 24, 25])
array('i', [21, 22, 26, 24, 25, 26])
不可变序列类型
分类为不可变的序列在其创建后元素不可更改。一些不可变序列类型如下所示。
- 元组:元组被称为有序且不可变的对象集合。
- 字符串:用单引号('')或双引号("")分隔的字符序列集合称为字符串。
- 整数:整数定义为整数,包括正数和负数,是一种不可变的数据类型。
示例
# 1.Tuple example
# Creating a tuple
my_tuple = (10, 20, 30, 40, 50)
# Accessing element
print(my_tuple[3])
# Tuples Concatenation to create a new tuple
new_tuple = my_tuple + (60, 70)
print("New Tuple:", new_tuple)
# 2.String Example
# Creating a string
my_string = "Tutorials Point"
# Accessing a character
print(my_string[4])
# Strings can be concatenated to create a new string
new_string = my_string + " python"
print("String:", new_string)
# 3.Integer Example
# Creating an integer
my_integer = 30
# Performing operation to create new integer
new_integer = my_integer + 5
print("New Integer:", new_integer)
40 New Tuple: (10, 20, 30, 40, 50, 60, 70) r String: Tutorials Point python New Integer: 35
成员运算符
在Python中,成员运算符(in, not in) 用于检查对象中是否存在序列。
一些常见的内置方法和操作,对于序列类型对象,可用于可变和不可变序列,如下所示
| 操作 | 语法 | 描述 |
|---|---|---|
| in | x in seq | 如果x在序列seq中找到,则返回True,否则返回False |
| not in | x not in seq | 如果x在序列seq中找到,则返回False,否则返回True |
示例
lang = ['java', 'python', 'c++']
print('python' in lang)
print('java' not in lang)
输出
True False
连接和重复
Python中的连接和重复受可变(列表)和不可变(元组、字符串)序列数据类型支持,但range对象等序列类型不支持此连接和重复操作。
| 操作 | 语法 | 描述 |
|---|---|---|
| 连接 | sequence1 + sequence2 | 连接(组合)两个序列。 |
| 重复 | sequence * n | 重复原始序列,直到给定次数(n)。 |
示例
list1 = [10, 20, 30] list2 = [40, 50] #Concatenation (+) print(list1 + list2) #Repetition (*) print(list1 * 3)
输出
[10, 20, 30, 40, 50] [10, 20, 30, 10, 20, 30, 10, 20, 30]
索引和切片
索引是指使用其索引访问序列中存在的元素的过程。Python序列中第一个元素的索引为0,第二个元素的索引或位置为1。
通过其起始和结束索引(起始、停止和步长值)访问序列的子序列称为切片。
| 操作 | 语法 | 描述 |
|---|---|---|
| 索引 | sequence[index] | 按其位置访问序列中的元素。 |
| 切片 | sequence[start : stop : step] | 通过起始、停止和步长值访问序列的子序列。 |
示例
my_list = ['a', 'b', 'c', 'd','e'] #indexing print(my_list[2]) #slicing (start,stop) print(my_list[1:4]) #(start,stop,step) #Slices the sequence from index i to j with a step k. numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(numbers[1:8:2])
输出
c ['b', 'c', 'd'] [1, 3, 5, 7]
长度、搜索和计数
我们可以使用内置的len()函数确定序列的长度。它可以应用于各种类型的序列,例如字符串、列表、元组等。
可以搜索序列中的特定元素,具体取决于序列的类型(列表、字符串、元组)。
Python的count()函数允许我们计算序列中出现的元素的次数。
| 操作 | 语法 | 描述 |
|---|---|---|
| 长度 | len(sequence) | 确定序列中元素的数量。 |
| 搜索 | sequence.index(item) | 查找序列中元素的第一次出现。 |
| 计数 | sequence.count(item) | 计算元素在序列中出现的次数。 |
示例
my_list = [1, 5, 4, 5, 3, 20, 12, 5, 43]
#Finding Length
print('length of sequence :',len(my_list))
#Searching an element
print('Element 12 at index :',my_list.index(12))
#counting the occurrences of an element
print('Num of times element 5 occured :',my_list.count(5))
输出
length of sequence : 9 Element 12 at index : 6 Num of times element 5 occured : 3
追加、弹出、删除
在Python中,追加、弹出和删除函数通常与可变序列类型一起使用,例如数组、列表和字节数组。
-
append()方法将向现有列表的末尾添加一个元素。
-
pop()方法删除并返回列表中所需位置的元素。
-
remove()方法将删除序列中元素的第一次出现。
不可变序列类型(如元组、字符串和整数)不支持这些操作,因为它们在创建后无法更改。
| 操作 | 语法 | 描述 |
|---|---|---|
| 追加 | list.append(element) | 在列表末尾添加单个元素。 |
| 弹出 | element = list.pop([index]) | 删除并返回序列中的元素。 |
| 删除 | list.remove(value) | 删除序列中元素的第一次出现。 |
示例
my_list = [10, 20, 30, 40, 50] #append element my_list.append(60) print(my_list) #popping element my_list.pop(1) print(my_list) #remove element my_list.remove(40) print(my_list)
输出
[10, 20, 30, 40, 50, 60] [10, 30, 40, 50, 60] [10, 30, 50, 60]
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP