首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python与人工智能35——数组全面解析——保姆及完整版

Python与人工智能35——数组全面解析——保姆及完整版

作者头像
红目香薰
发布2024-11-02 08:14:09
发布2024-11-02 08:14:09
7730
举报
文章被收录于专栏:CSDNToQQCodeCSDNToQQCode

前言

Python作为当前最为流行的一种语言与身份程序员的大家们几乎是时时刻刻分不开的,无论是做任何方面的工作基本上不会缺少Python的出现,就好似现阶段各平台的低代码Agent开发都支持的是Python语言,对其它的语言友好度都不是很高,那么,我们就非常的有必要将Python深入的了解一下,本系列文章的目的就是为了让大家对于Python有个更加直观的了解,并且要使用Python做很多的小应用,只有真正的实操了才能更好的掌握它。

正文

开发工具:Pythony与人工智能——3、Python开发IDE工具VSCode-CSDN博客

Python与人工智能35——数组全面解析

什么是 Python 数组(列表)

在 Python 中,虽然没有像其他编程语言中严格意义上的数组,但列表(List)可以看作是一种动态数组。列表是一种有序的可变容器,可以存储不同类型的数据,如整数、字符串、其他列表等。它是 Python 中最常用的数据结构之一。

创建 Python 数组(列表)

使用方括号[]创建
代码语言:javascript
复制
my_list = [1, 2, 3, 'hello', [4, 5]]
print(my_list)  

在这个例子中,my_list包含了整数、字符串和一个嵌套的列表。

使用list()函数创建

也可以使用list()函数将其他可迭代对象(如字符串、元组)转换为列表。例如:

代码语言:javascript
复制
string_example = "Python"
string_list = list(string_example)
print(string_list)

访问数组元素

通过索引访问

列表中的元素可以通过索引来访问,索引从 0 开始。例如:

代码语言:javascript
复制
my_list = [10, 20, 30, 40]
print(my_list[0])  
print(my_list[2])  

这将分别输出10和30。如果使用负数索引,Python 会从列表末尾开始计数,-1表示最后一个元素,-2表示倒数第二个元素,依此类推。例如:

代码语言:javascript
复制
my_list = [10, 20, 30, 40]
print(my_list[0])
print(my_list[2])
print(my_list[-1])
切片访问

可以使用切片操作来获取列表的一部分。切片的语法是[start:stop:step],其中start是起始索引(包含),stop是结束索引(不包含),step是步长。例如:

代码语言:javascript
复制
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(my_list[2:7])  
print(my_list[::2])  
print(my_list[::-1])  

第一个切片[2:7]将获取索引从 2 到 6 的元素,即[3, 4, 5, 6, 7]。[::2]表示从开头到结尾,步长为 2,结果是[1, 3, 5, 7, 9]。[::-1]则是将列表反转,得到[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]。

修改数组元素

下标修改

可以通过索引来修改列表中的单个元素。例如:

代码语言:javascript
复制
my_list = [1, 2, 3]
my_list[1] = 20
print(my_list)  

这将把索引为 1 的元素从2修改为20,输出[1, 20, 3]。

修改多个元素(切片)

使用切片可以同时修改多个元素。例如:

代码语言:javascript
复制
my_list = [1, 2, 3, 4, 5]
my_list[1:4] = [20, 30, 40]
print(my_list)

这里将索引从 1 到 3 的元素替换为[20, 30, 40],输出[1, 20, 30, 40, 5]。

数组的操作

使用append()方法

append()方法用于在列表末尾添加一个元素。例如:

代码语言:javascript
复制
my_list = [1, 2, 3]
my_list.append(4)
print(my_list)
使用insert()方法

insert()方法可以在指定索引位置插入一个元素。例如:

代码语言:javascript
复制
my_list = [1, 2, 3]
my_list.insert(1, 10)
print(my_list)

删除元素

使用del语句

可以使用del语句删除指定索引的元素。例如:

代码语言:javascript
复制
my_list = [1, 2, 3, 4]
del my_list[2]
print(my_list)
使用remove()方法

remove()方法用于删除列表中第一个匹配指定值的元素。例如:

代码语言:javascript
复制
my_list = [1, 2, 3, 2]
my_list.remove(2)
print(my_list)
使用pop()方法

pop()方法用于删除并返回指定索引的元素,如果不指定索引,则删除并返回最后一个元素。例如:

代码语言:javascript
复制
my_list = [1, 2, 3]
last_element = my_list.pop()
print(last_element)
print(my_list)

数组的拼接

可以使用+运算符或extend()方法来拼接两个列表。例如:

代码语言:javascript
复制
list1 = [1, 2, 3]
list2 = [4, 5, 6]
# 使用 + 运算符
new_list1 = list1 + list2
print(new_list1)  
# 使用 extend() 方法
list1.extend(list2)
print(list1)  

数组的复制

浅复制

可以使用切片[:]或者list()函数来实现浅复制。例如:

代码语言:javascript
复制
original_list = [1, [2, 3], 4]
shallow_copy1 = original_list[:]
shallow_copy2 = list(original_list)
print(shallow_copy1)
print(shallow_copy2)

这里shallow_copy1和shallow_copy2都是original_list的浅复制。但是需要注意,如果列表中包含可变对象(如列表),修改其中一个复制中的可变对象,原列表中的相应对象也会被修改。例如:

代码语言:javascript
复制
original_list = [1, [2, 3], 4]
shallow_copy = original_list[:]
shallow_copy[1][0] = 20
print(original_list)
print(shallow_copy)
深复制

如果要完全独立地复制一个列表(包括其中的可变对象),可以使用copy模块中的deepcopy()函数。例如:

代码语言:javascript
复制
import copy
original_list = [1, [2, 3], 4]
deep_copy = copy.deepcopy(original_list)
deep_copy[1][0] = 20
print(original_list)
print(deep_copy)

数组的遍历

基础遍历

可以使用for循环遍历列表中的每个元素。例如:

代码语言:javascript
复制
my_list = [10, 20, 30]
for element in my_list:
    print(element)
使用enumerate()函数

enumerate()函数可以同时获取元素和其索引。例如:

代码语言:javascript
复制
my_list = ['a', 'b', 'c']
for index, element in enumerate(my_list):
    print(f"Index: {index}, Element: {element}")  

数组的常用方法总结

count()方法用于统计指定元素在列表中出现的次数。

代码语言:javascript
复制
my_list = [1, 2, 2, 3, 2]
print(my_list.count(2))  

index()方法用于返回指定元素在列表中第一次出现的索引。

代码语言:javascript
复制
my_list = [1, 2, 3, 2]
print(my_list.index(2))  

sort()方法用于对列表进行原地排序,即直接修改原列表。

代码语言:javascript
复制
my_list = [3, 1, 4, 2]
my_list.sort()
print(my_list)  

sorted()函数则返回一个新的已排序的列表,能看到两个地址的id,原列表不变。

代码语言:javascript
复制
my_list = [3, 1, 4, 2]
new_sorted_list = sorted(my_list)
print(my_list)
print(new_sorted_list)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 前言
  • 正文
    • Python与人工智能35——数组全面解析
    • 什么是 Python 数组(列表)
    • 创建 Python 数组(列表)
      • 使用方括号[]创建
      • 使用list()函数创建
    • 访问数组元素
      • 通过索引访问
      • 切片访问
    • 修改数组元素
      • 下标修改
      • 修改多个元素(切片)
    • 数组的操作
      • 使用append()方法
      • 使用insert()方法
    • 删除元素
      • 使用del语句
      • 使用remove()方法
      • 使用pop()方法
    • 数组的拼接
    • 数组的复制
      • 浅复制
      • 深复制
    • 数组的遍历
      • 基础遍历
      • 使用enumerate()函数
    • 数组的常用方法总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档