python中的数组(列表及其相关函数)

python中的数组(列表)

整数
浮点数
字符串
对象

创建列表

member = ['小甲鱼', '小布丁', '黑夜', '安静']
number = [1, 2, 3, 4, 5]
mix = [1, '小甲鱼', 3.14, [1, 2, 3]]
print(mix)

运行结果:
在这里插入图片描述

向列表添加元素

append

member = ['小甲鱼', '小布丁', '黑夜', '安静']
number = [1, 2, 3, 4, 5]
mix = [1, '小甲鱼', 3.14, [1, 2, 3]]
member.append('福禄娃娃')
print(len(member))

运行结果:
在这里插入图片描述
调用append()函数,可以添加元素(只可以添加一个)
extend

member = ['小甲鱼', '小布丁', '黑夜', '安静']
number = [1, 2, 3, 4, 5]
mix = [1, '小甲鱼', 3.14, [1, 2, 3]]
member.append('福禄娃娃')
member.extend(['你好', '哈哈'])
print(len(member))

运行结果:
在这里插入图片描述
insert

member = ['小甲鱼', '小布丁', '黑夜', '安静']
number = [1, 2, 3, 4, 5]
mix = [1, '小甲鱼', 3.14, [1, 2, 3]]
member.append('福禄娃娃')
member.extend(['你好', '哈哈'])
member.insert(1, '牡丹')
print(member)

运行结果:
在这里插入图片描述
insert(1, ‘牡丹’) #1为插入元素的位置

从列表中获取元素

member = ['小甲鱼', '小布丁', '黑夜', '安静']
number = [1, 2, 3, 4, 5]
mix = [1, '小甲鱼', 3.14, [1, 2, 3]]
member.append('福禄娃娃')
member.extend(['你好', '哈哈'])
member.insert(1, '牡丹')
print(member[0])

运行结果:
在这里插入图片描述

从列表删除元素

remove

member = ['小甲鱼', '小布丁', '黑夜', '安静']
member.remove('黑夜')
print(member)

运行结果:
在这里插入图片描述
del

member = ['小甲鱼', '小布丁', '黑夜', '安静']
del member[2]
print(member)

运行结果:
在这里插入图片描述

member = ['小甲鱼', '小布丁', '黑夜', '安静']
del member
print(member)

其将整个member列表删除
运行结果:
在这里插入图片描述
pop

member = ['小甲鱼', '小布丁', '黑夜', '安静']
member.pop()
print(member)

运行结果:
在这里插入图片描述
也可以加上下标:

member = ['小甲鱼', '小布丁', '黑夜', '安静']
member.pop(0)
print(member)

运行结果:
在这里插入图片描述

列表分片

一次性获取多个元素

member = ['小甲鱼', '小布丁', '黑夜', '安静']
print(member[1:3])

运行结果:
在这里插入图片描述

member = ['小甲鱼', '小布丁', '黑夜', '安静']
print(member[:3])

运行结果:
在这里插入图片描述

member = ['小甲鱼', '小布丁', '黑夜', '安静']
print(member[1:])

运行结果:
在这里插入图片描述

member = ['小甲鱼', '小布丁', '黑夜', '安静']
print(member[:])

运行结果:
在这里插入图片描述

列表的一些常用操作符

比较操作符
逻辑操作符
连接操作符
重复操作符
成员关系操作符

list1 = [123]
list2 = [456]
print(list1 > list2)

运行结果:
在这里插入图片描述

list1 = [123, 456]
list2 = [456, 123]
list3 = [123, 456]
print(list1 > list2)
print(list1<list2 and list1==list3)

运行结果:
在这里插入图片描述

list1 = [123, 456]
list2 = [456, 123]
print(list1+list2)

运行结果:
在这里插入图片描述

list1 = [123, 456]
list2 = [456, 123]
print(list1*3)

运行结果:
在这里插入图片描述

list1 = [123, 456]
list2 = [456, 123]
list1 *= 5
print(list1)

运行结果:
在这里插入图片描述

list1 = [123, 456]
list2 = [456, 123]
list1 *= 5
print(123 in list1)
print(222 not in list1)
print(123 not in list1)

运行结果:
在这里插入图片描述

list3 = [123, [888, 666], 456]
print(888 in list3)
print(888 in list3[1])

运行结果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210408182225472.pn
访问列表中的列表值,其方法和C语言中访问二维数组的方法相同:list3[1][1]

list1 = [123, 456]
list2 = [456, 123]
list1 *= 15
print(list1.count(123))
print(list1.index(123))
print(list1.index(123, 3, 9))
list1.reverse()   #实现列表翻转
print(list1)

运行结果:
在这里插入图片描述

list4=[4, 5, 3, 7, 2, 7, 1]
list4.sort()
print(list4)

排序
运行结果:
在这里插入图片描述

list4=[4, 5, 3, 7, 2, 7, 1]
list4.sort(reverse=True)
print(list4)

运行结果:
在这里插入图片描述

list4=[4, 5, 3, 7, 2, 7, 1]
list5=list4[:]  #将list4的元素拷贝到list5中
list6=list4  #多一个指向其列表的标签
list4.sort()
print(list5)
print(list6)

运行结果:
在这里插入图片描述

### Python数组的使用方法与数据结构 #### 基础概念 Python 的内置数据类型中并没有严格意义上的 “数组”。通常所说的数组实际上是通过 `list` 或者第三方库如 NumPy 提供的数据结构实现的。标准的 Python 列表是一个动态数组,能够存储任意类型的对象[^1]。 然而,在科学计算领域,NumPy 库提供了更为高效的多维数组对象 (`ndarray`) 和一系列操作函数。相比普通的列表,NumPy 数组具有更高的性能和更低的内存消耗,因此成为数据分析和机器学习的基础工具之一。 --- #### 创建数组的方式 以下是创建数组的一些常见方式: 1. **使用列表 (List)** Python 自带的列表是一种通用型容器,支持多种数据类型的混合存储。 ```python my_list = [1, 2, 3, 'a', 'b'] ``` 2. **使用 NumPy 数组** 如果需要高性能的数值运算,则推荐使用 NumPy 的 `array` 函数。 ```python import numpy as np # 从列表转换成 NumPy 数组 my_numpy_array = np.array([1, 2, 3]) # 创建全零数组 zeros_array = np.zeros((3, 3)) # 创建全一数组 ones_array = np.ones((2, 4)) # 创建随机数数组 random_array = np.random.rand(5, 5) ``` --- #### 数组的操作 以下是一些常见的数组操作及其代码示例: 1. **求和** 对于简单的列表,可以直接使用内置的 `sum()` 方法;对于 NumPy 数组,则有专门的 `.sum()` 方法。 ```python # 列表求和 lst_sum = sum([1, 2, 3]) # 结果为 6 # NumPy 数组求和 array_sum = np.sum(np.array([1, 2, 3])) # 结果同样为 6 ``` 2. **去重** 可以利用集合或列表推导式完成数组的去重操作。 ```python # 使用 set 进行去重 arr = [1, 2, 2, 3, 4, 4, 5] unique_set = list(set(arr)) # 结果为 [1, 2, 3, 4, 5] # 使用列表推导式保持顺序 unique_lst = [] [unique_lst.append(x) for x in arr if x not in unique_lst] print(unique_lst) # 输出 [1, 2, 3, 4, 5] ``` 3. **追加数据** 在列表中可以通过 `.append()` 方法添加单个元素,或者通过 `.extend()` 添加多个元素。而在 NumPy 数组中则需借助 `np.concatenate()` 或其他函数。 ```python # 列表追加 my_list = [1, 2, 3] my_list.append(4) # 结果为 [1, 2, 3, 4] # NumPy 数组追加 my_np_array = np.array([1, 2, 3]) new_array = np.append(my_np_array, [4]) # 结果为 [1, 2, 3, 4] ``` --- #### 性能对比 虽然 Python 列表功能强大且灵活,但在处理大规模数值数据时效率较低。相比之下,NumPy 数组由于其底层优化设计(基于 C 编写),在速度和空间占用方面表现优异。 例如,当涉及矩阵乘法或其他复杂数学运算时,直接调用 NumPy 提供的功能会显著优于手动编写循环逻辑。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值