Python 结构化一维序列

  • Post category:Python

下面是Python结构化一维序列使用方法的完整攻略。

一、Python结构化一维序列概述

Python结构化一维序列是指由相同数据类型元素组成的一组有序数据类型,例如列表、元组、NumPy数组等,它们可以通过下标进行访问和操作。这些数据结构相较于一般的列表,具有更加严格的数据类型和更高效的数据操作方式。

二、Python列表

Python列表是最常用的一维序列类型,它由一组有序的元素组成,每个元素可以是任意数据类型。列表用方括号[]定义,元素之间用逗号,隔开。

1. 基本操作

  1. 创建一个列表
a_list = [1, 2, 3, 4, 5]
  1. 获取列表长度
len(a_list)  # 输出:5
  1. 访问列表元素
a_list[0]    # 输出:1
  1. 列表切片
a_list[1:4]  # 输出:[2, 3, 4]
  1. 列表元素的修改、添加和删除
# 修改元素
a_list[0] = 0
print(a_list)  # 输出:[0, 2, 3, 4, 5]

# 添加元素
a_list.append(6)
print(a_list)  # 输出:[0, 2, 3, 4, 5, 6]

# 删除元素
del a_list[0]
print(a_list)  # 输出:[2, 3, 4, 5, 6]
  1. 列表操作符
a_list + [7, 8]  # 输出:[2, 3, 4, 5, 6, 7, 8]
a_list * 2       # 输出:[2, 3, 4, 5, 6, 2, 3, 4, 5, 6]
  1. 判断某个元素是否在列表中
2 in a_list     # 输出:True
10 in a_list    # 输出:False

2. 高级操作

  1. 列表推导式
a_list = [x ** 2 for x in range(1, 6)]
print(a_list)  # 输出:[1, 4, 9, 16, 25]
  1. 列表排序
a_list.sort()
print(a_list)  # 输出:[1, 4, 9, 16, 25]
a_list.sort(reverse=True)
print(a_list)  # 输出:[25, 16, 9, 4, 1]
  1. 列表反转
a_list.reverse()
print(a_list)  # 输出:[5, 4, 3, 2, 1]

三、Python元组

Python元组是不可变的一维有序序列,元组的元素可以是任意数据类型。元组用小括号()定义,元素之间用逗号,隔开。

1. 基本操作

  1. 创建一个元组
a_tuple = (1, 2, 3, 4, 5)
  1. 获取元组长度
len(a_tuple)  # 输出:5
  1. 访问元组元素
a_tuple[0]    # 输出:1
  1. 元组切片
a_tuple[1:4]  # 输出:(2, 3, 4)
  1. 元组操作符
a_tuple + (6, 7)  # 输出:(1, 2, 3, 4, 5, 6, 7)
a_tuple * 2       # 输出:(1, 2, 3, 4, 5, 1, 2, 3, 4, 5)
  1. 判断某个元素是否在元组中
2 in a_tuple     # 输出:True
10 in a_tuple    # 输出:False

2. 高级操作

  1. 元组拆封
a, b, c = (1, 2, 3)
print(a, b, c)  # 输出:1 2 3
  1. 元组排序
sorted_tuple = sorted(a_tuple)
print(sorted_tuple)  # 输出:[1, 2, 3, 4, 5]

# 对元组中的元素指定排序规则
string_tuple = ('abc', 'def', 'aa')
sorted_string = sorted(string_tuple, key=len)
print(sorted_string)  # 输出:['aa', 'abc', 'def']

四、Python NumPy数组

NumPy数组是用于数值计算的重要数据结构,它是由相同数据类型元素组成的多维数组,可以进行向量化运算。这里仅介绍其中的一维数组。

1. 基本操作

  1. 创建一个NumPy数组
import numpy as np

a_array = np.array([1, 2, 3, 4, 5])
  1. 获取数组长度
len(a_array)  # 输出:5
  1. 访问数组元素
a_array[0]    # 输出:1
  1. 数组切片
a_array[1:4]  # 输出:array([2, 3, 4])
  1. 数组元素的修改、添加和删除
# 修改元素
a_array[0] = 0
print(a_array)  # 输出:array([0, 2, 3, 4, 5])

# 添加元素
np.append(a_array, [6])
print(a_array)  # 输出:array([0, 2, 3, 4, 5, 6])

# 删除元素
np.delete(a_array, [0])
print(a_array)  # 输出:array([0, 2, 3, 4, 5])
  1. 数组操作符
a_array + np.array([6, 7])     # 输出:array([ 6,  9, 10, 11, 12])
a_array * np.array([2, 3, 4, 5, 6])  # 输出:array([ 0,  6, 12, 20, 30])
  1. 判断某个元素是否在数组中
2 in a_array     # 输出:True
10 in a_array    # 输出:False

2. 高级操作

  1. 数组索引和切片
# 利用索引和切片获取数组中的部分元素
a_list = [1, 2, 3, 4, 5, 6, 7]
a_array = np.array(a_list)
print(a_array[a_array > 3])  # 输出:array([4, 5, 6, 7])
print(a_array[-3:])         # 输出:array([5, 6, 7])
  1. 数组排序
sorted_array = np.sort(a_array)
print(sorted_array)  # 输出:array([1, 2, 3, 4, 5, 6, 7])

# 对数组中的元素指定排序规则
string_array = np.array(['abc', 'def', 'aa'])
sorted_string = np.sort(string_array, key=len)
print(sorted_string)  # 输出:array(['aa', 'abc', 'def'], dtype='<U3')

以上是Python结构化一维序列使用方法的详细攻略,希望对您有所帮助。