Python 如何将元组转换成C数组
在本文中,我们将展示如何在Python中将Python元组转换为C数组。
Python没有像其他编程语言一样内置的数组数据类型,但你可以使用类似 Numpy 的库来创建数组。
以下是将元组转换为数组的各种方法:
- 使用numpy.asarray()方法
-
使用numpy.array()方法
如果您还未在系统上安装 NumPy ,请运行以下命令进行安装。
pip install numpy
使用numpy.asarray()将元组转换为数组
使用 np.asarray() 函数将Python元组转换为数组。库函数 np.asarray() 将输入转换为数组。列表、元组、元组的元组、元组的列表和 ndarrays 都是输入。
步骤
以下是执行所需任务的算法/步骤−
- 使用import关键字导入具有别名的NumPy模块。
-
创建一个变量来存储输入的元组。
-
打印输入的元组。
-
使用 type() 函数(返回对象的数据类型)打印输入元组的数据类型。
-
使用numpy.asarray()函数将输入的元组转换为数组,将输入元组作为参数传递给它。
-
将输入的Python元组转换为数组后,打印输出数组。
-
使用 type() 函数(返回对象的数据类型)打印结果输出数组的数据类型。
示例
以下程序使用 numpy.asarray() 函数将输入元组转换为数组−
# importing NumPy module with an alias name
import numpy as np
# input tuple
inputTuple = (12, 1, 3, 18, 5)
# printing input tuple
print("InputTuple:", inputTuple)
# printing the data type of the input tuple
print("Type of InputTuple:", type(inputTuple))
# converting python tuple to an array using numpy.asarray() function
outputArray = np.asarray(inputTuple)
# printing output array after conversion
print("Output array after conversion of input tuple to array:\n", outputArray)
# printing the data type of the output array
print("Type of OutputArray:", type(outputArray))
输出
执行上述程序后,将会生成以下输出结果−
InputTuple: (12, 1, 3, 18, 5)
Type of InputTuple:
Output array after conversion of input tuple to array:
[12 1 3 18 5]
Type of OutputArray: <class 'numpy.ndarray'="">
使用numpy.asarray()将一组列表转换为数组
步骤
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储输入的一组列表。
-
打印输入的一组列表。
-
使用 type() 函数(返回对象的数据类型)打印输入一组列表的数据类型。
-
使用 numpy.asarray() 函数将输入的一组列表转换为数组,将输入的一组列表作为参数传递给该函数。
-
打印将输入的一组列表转换为数组后的输出数组。
-
使用 type() 函数(返回对象的数据类型)打印结果输出数组的数据类型。
-
对输出数组应用 flatten() 函数(将ndarray展平为1维)将输出数组展平为1维。
-
打印结果展平的数组。
示例
以下程序使用 numpy.asarray() 函数将输入的一组列表转换为数组,并返回其展平后的数组。
# importing NumPy module with an alias name
import numpy as np
# input tuple
inputTuple = ([1, 10, 5], [3, 6, 4])
# printing input tuple
print("InputTuple:", inputTuple)
# printing the data type of the input tupl
print("Type of Input Tuple:", type(inputTuple))
# converting python tuple of lists to an array using numpy.asarray() function
outputArray = np.asarray(inputTuple)
# printing output array after conversion
print("Output array after conversion of input tuple of lists to array:\n", outputArray)
# printing the data type of the output array
print("Type of Output Array:", type(outputArray))
# flattening the output array to 1-dimension
flatten_array = outputArray.flatten()
# printing the flattened array
print("Flattened Array:", flatten_array)
输出
在执行以上程序时,将生成以下输出:
InputTuple: ([1, 10, 5], [3, 6, 4])
Type of Input Tuple: <class 'tuple'>
Output array after conversion of input tuple of lists to array:
[[ 1 10 5]
[ 3 6 4]]
Type of Output Array: <class 'numpy.ndarray'>
Flattened Array: [ 1 10 5 3 6 4]
numpy.asarray() 函数将一个元素为列表的元组转化为数组。但是,它会创建一个二维数组,可以使用 array.flatten() 方法将其平铺。
使用numpy.array()将元组转化为数组
numpy.array() 函数接受一个Python对象并返回一个数组。我们将一个元组对象传递给 np.array() 函数,它将把它转化为一个数组。
示例
以下程序使用 numpy.array() 函数将输入的元组转化为数组 –
# importing numpy module with an alias name
import numpy as np
# input tuple
inputTuple = (12, 1, 3, 18, 5)
# printing input tuple
print("InputTuple:", inputTuple)
# printing the data type of the input tuple
print("Type of InputTuple:", type(inputTuple))
# converting python tuple to an array using numpy.array() function
outputArray = np.array(inputTuple)
# printing output array after conversion
print("Output array after conversion of input tuple to array:\n", outputArray)
# printing the data type of the output array
print("Type of OutputArray:", type(outputArray))
输出
执行上述程序后,将产生以下输出结果 −
InputTuple: (12, 1, 3, 18, 5)
Type of InputTuple: <class 'tuple'>
Output array after conversion of input tuple to array:
[12 1 3 18 5]
Type of OutputArray: <class 'numpy.ndarray'>
使用numpy.array()将由列表组成的元组转换为数组
示例
以下程序使用 numpy.array() 函数将输入的列表元组转换为数组,并返回其展开后的数组。
# importing numpy module with an alias name
import numpy as np
# input tuple
inputTuple = ([1, 10, 5], [3, 6, 4])
# printing input tuple
print("InputTuple:", inputTuple)
# printing the data type of the input tuple
print("Type of Input Tuple:", type(inputTuple))
# converting python tuple of lists to an array using numpy.array() function
outputArray = np.array(inputTuple)
# printing output array after conversion
print("Output array after conversion of input tuple of lists to array:\n", outputArray)
# printing the data type of the output array
print("Type of Output Array:", type(outputArray))
# flattening the output array to 1-dimension
flatten_array = outputArray.flatten()
# printing the flattened array
print("Flattened Array:", flatten_array)
输出
在执行时,上述程序将生成以下输出 −
InputTuple: ([1, 10, 5], [3, 6, 4])
Type of Input Tuple: <class 'tuple'>
Output array after conversion of input tuple of lists to array:
[[ 1 10 5]
[ 3 6 4]]
Type of Output Array: <class 'numpy.ndarray'>
Flattened Array: [ 1 10 5 3 6 4]
结论
在本文中,我们学习了如何使用Numpy模块的array()和asarray()函数将Python元组转换为C数组。在本文中,我们还学习了如何将元组列表转换为数组并展平它们。