将Python列表转换为NumPy数组
介绍
在Python中,列表是一种线性数据结构,可以存储异构元素。它不需要事先定义,并且可以根据需要收缩和扩展。另一方面,NumPy数组是一种可以存储同质元素的数据结构。它是使用NumPy库在Python中实现的。该库在处理多维数组时非常高效。它还可以有效处理大量的数据元素。NumPy数组使用的内存比列表数据结构少。NumPy数组和列表都可以通过它们的索引值来识别。
NumPy库提供了两种将列表转换为数组的方法。
方法1:使用numpy.array()
在Python中,将列表转换为NumPy数组的最简单方法是使用numpy.array()函数。它接受一个参数并返回一个NumPy数组。它在内存中创建一个新的副本。
程序1
# importing library of the array in python
import numpy
# initilizing elements of the list
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# converting elements of the list into array elements
arr = numpy.array(a)
# displaying elements of the list
print ("List: ", a)
# displaying elements of the array
print ("Array: ", arr)
输出:
List: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Array: [1 2 3 4 5 6 7 8 9]
方法2:使用numpy.asarray()
在Python中,第二种方法是numpy.asarray()函数,它将一个列表转换为NumPy数组。它接受一个参数并将其转换为NumPy数组。它不会在内存中创建一个新的副本。在此过程中,对原始数组所做的所有更改都会在NumPy数组上反映出来。
程序2
# importing library of the array in python
import numpy
# initilizing elements of the list
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# converting elements of the list into array elements
arr = numpy.asarray(a)
# displaying elements of the list
print ("List:", a)
# displaying elements of the array
print ("Array: ", arr)
输出:
List: [1, 2, 3, 4, 5, 6, 7, 8, 9]
Array: [1 2 3 4 5 6 7 8 9]
程序3
# importing library of the NumPy array in python
import numpy
# initilizing elements of the list
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# converting elements of the list into array elements
arr = numpy.asarray(lst)
# displaying elements of the list
print ("List:", lst)
# displaying elements of the array
print ("arr: ", arr)
# made another array out of arr using asarray function
arr1 = numpy.asarray(arr)
#displaying elements of the arr1 before the changes made
print("arr1: " , arr1)
#change made in arr1
arr1[3] = 23
#displaying arr1 , arr , list after the change has been made
print("lst: " , lst)
print("arr: " , arr)
print("arr1: " , arr1)
输出:
List: [1, 2, 3, 4, 5, 6, 7, 8, 9]
arr: [1 2 3 4 5 6 7 8 9]
arr1: [1 2 3 4 5 6 7 8 9]
lst: [1, 2, 3, 4, 5, 6, 7, 8, 9]
arr: [ 1 2 3 23 5 6 7 8 9]
arr1: [ 1 2 3 23 5 6 7 8 9]