Python 结构化一维序列

  • Post category:Python

Python 结构化一维序列有多种使用方法,包括列表、元组和数组。以下是针对这三种结构化一维序列的完整攻略。

列表

列表是Python中最常用的数据类型之一,用于存储一组有序数据,可以包括数字、字符串、布尔值等等。列表中的数据可以是任意类型的对象,并且支持动态添加和删除元素。

基本操作

以下是常见的列表操作:

创建列表

可以使用一对方括号来创建一个空的列表,也可以在方括号中添加初始元素:

empty_list = []
num_list = [1, 2, 3, 4, 5]
str_list = ['apple', 'banana', 'pear']
mixed_list = [1, 'apple', True, 3.14]

访问列表元素

可以使用索引来访问列表中的元素,索引从0开始。也可以使用负数索引,表示从后往前数(-1表示最后一个元素)。

num_list[0]  # 1
num_list[-1]  # 5

切片操作

可以使用切片操作来访问列表中的一段元素:

num_list[1:3]  # [2, 3]
num_list[:3]  # [1, 2, 3]
num_list[2:]  # [3, 4, 5]

添加和删除元素

可以使用append方法在列表尾部添加元素,使用del语句或pop方法删除元素:

num_list.append(6)
del num_list[0]
num_list.pop()

示例

以下是一个简单的示例,演示如何使用列表来统计一句话中每个单词出现的次数:

sentence = "Hello world, hello Python"
words = sentence.split()  # 按空格分割单词
count_dict = {}
for word in words:
    if word in count_dict:
        count_dict[word] += 1
    else:
        count_dict[word] = 1
print(count_dict)
# 输出:{'Hello': 1, 'world,': 1, 'hello': 1, 'Python': 1}

元组

元组是一种类似于列表的数据类型,但是元素不能修改。元组可以用于存储一组不可变的数据,比如坐标、RGB颜色等。

基本操作

以下是常见的元组操作:

创建元组

可以使用一对括号来创建一个元组,也可以省略括号:

empty_tuple = ()
two_element_tuple = (1, 2)
two_element_tuple = 1, 2
mixed_tuple = ('apple', 3.14, True)

访问元组元素

可以使用索引来访问元组中的元素,索引从0开始。也可以使用负数索引,表示从后往前数(-1表示最后一个元素)。

two_element_tuple[0]  # 1
two_element_tuple[-1]  # 2

示例

以下是一个简单的示例,演示如何使用元组来计算两个点之间的距离:

point1 = (1, 2)
point2 = (3, 4)
distance = ((point1[0] - point2[0]) ** 2 + (point1[1] - point2[1]) ** 2) ** 0.5
print(distance)
# 输出:2.8284271247461903

数组

数组是一种用于存储一组数值的数据类型,和列表不同,数组的元素类型必须相同(只能是数字、字符或者布尔值),并且数组支持向量化运算,可以大幅提高计算效率。

基本操作

以下是常见的数组操作:

导入numpy模块

数组通常使用numpy模块来实现,需要先导入该模块:

import numpy as np

创建数组

可以使用numpy的array函数来创建数组:

empty_array = np.array([])
int_array = np.array([1, 2, 3, 4, 5])
float_array = np.array([1.1, 2.2, 3.3])

访问数组元素

可以使用索引来访问数组中的元素,索引从0开始。也可以使用负数索引,表示从后往前数(-1表示最后一个元素)。

int_array[0]  # 1
int_array[-1]  # 5

切片操作

和列表类似,可以使用切片操作来访问数组中的一段元素:

int_array[1:3]  # [2, 3]
int_array[:3]  # [1, 2, 3]
int_array[2:]  # [3, 4, 5]

数组运算

一个数组可以和一个标量进行加、减、乘、除等运算,也可以和另一个数组进行对应位置的运算:

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = a + b  # 对应位置相加,结果为 [5, 7, 9]
d = a * 2  # 数组乘以标量,结果为 [2, 4, 6]

示例

以下是一个简单的示例,演示如何使用数组来求解二元一次方程组:

a = np.array([[2, 1], [1, 1]])
b = np.array([3, 2])
x = np.linalg.solve(a, b)
print(x)
# 输出:[0.5 1.5]

以上就是针对Python结构化一维序列的分别的详细讲解。