Python列表append()方法详解与多维数组构建
本文详细介绍Python中列表append()方法的语法与返回值特性,演示如何添加各类对象及生成多维数组。结合Num库,讲解矩阵转置transpose及数组横向、纵向合并操作,涵盖常见编程场景与注意事项。
append()函数基础
append()函数
该方法用于在列表ls的末尾追加一个指定的元素object。
语法格式为:ls.append(object),执行后返回None,即无返回值。
基本使用示例
示例如下:
a=[1,2,3]
a.append(5)
运行后的输出结果为 [1, 2, 3, 5]。
a=[1,2,3]
a.append([5])
此时,运行结果为 [1, 2, 3, [5]]。
注意:结果不再是一个扁平数组,而是包含嵌套列表的list结构。
多维数组与矩阵操作
利用append可以生成多维数组:
import numpy as np
a=[]
for i in range(5):
a.append([])
for j in range(5):
a[i].append(i)
输出结果如下:
[[0, 0, 0, 0, 0],
[1, 1, 1, 1, 1],
[2, 2, 2, 2, 2],
[3, 3, 3, 3, 3],
[4, 4, 4, 4, 4]]
矩阵转置可使用transpose方法:
a=np.transpose(a)
结果如下:
([[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4]])
数组合并操作
此外,还可进行数组合并操作:
h=np.arange(-2,2,1)
h.shape
k1=np.c_[h,h] #横向合并函数1 np.c_,将数组转化为列向量
k2=np.hstack((h,h)) #横向合并函数2 np.hstack,将数组作为横向量
print("k1="+str(k1))
print("k2="+str(k2))
l1=np.r_[[h],[h]] #纵向合并函数np.r_
l2=np.vstack((h,h)) #纵向合并函数np.vstack
print("l1="+str(l1))
print("l2="+str(l2))
结果如下:
k1=[[-2 -2]
[-1 -1]
[ 0 0]
[ 1 1]]
k2=[-2 -1 0 1 -2 -1 0 1]
l1=[[-2 -1 0 1]
[-2 -1 0 1]]
l2=[[-2 -1 0 1]
[-2 -1 0 1]]
扩展应用与注意事项
内容扩展:
描述:在列表ls最后(末尾)添加一个元素object
语法:ls.append(object) -> None 无返回值
object —— 要添加的元素。可以添加 列表,字典,元组,集合,字符串等。 程序示例:
ls1 = [1,2,3,4,5,6]
ls2 = [1,2,3,4,5,6]
ls1.append(12)
#可以添加列表,字典,元组,集合,字符串等
ls2.append([1,"a"]) #添加列表
ls2.append({2:"a",3:"hj"}) #添加字典
ls2.append((1,"k",3)) #添加元组
ls2.append({"1","2","h"}) #添加集合
ls2.append("123abc") #添加字符串
print(ls1.append(12)) #无返回值
print(ls1) #append()函数的操作对象是原列表。
print(ls2)
程序运行结果:
None
[1, 2, 3, 4, 5, 6, 12, 12]
[1, 2, 3, 4, 5, 6, [1, 'a'], {2: 'a', 3: 'hj'}, (1, 'k', 3), {'2', '1', 'h'}, '123abc']
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













