Python完整指南--元组转换数组
在这篇文章中,我们将学习如何在Python中把元组转换为数组。Python是一种伟大的编程语言。从它出现的那一天起,它的受欢迎程度就与日俱增。Python的独特优势使它如何受欢迎。
关于Python
- 一个开源项目
- Python的创造者Guido Von Rossum先生在开发时就让它成为一个开源项目。他认为保持它的免费贡献将为它增加更多的功能。不仅如此,不同的开发者还可以使它跨平台,并为其他各种领域开发。随着时间的推移,他的想法最终获得了成功。
- 开发人员现在正在为它做贡献,各种模块正在帮助学习者非常容易地学习各种新概念。
- 巨大的库支持
- 由于开放源码的贡献,各种模块和库都可以使用。每个库都是独立的独立任务。
- 这些库很容易添加到python环境中。pip包(Package Installer for Python)使之变得简单。
- 伟大的开发者支持
- 对于Python,开发者遍布世界各地。
- 他们不断发送更多更先进的代码,使这个项目成为编码者的一个更好的平台。
- 可供选择的域
- 有各种领域可供选择。机器学习,数据科学,人工智能,网络刮削,网络开发,物联网和云计算等是其中的一些领域。
- 核心应用还包括软件开发。
- 易于学习和理解
- Python很容易学习和理解。它非常简单,一个人可以在一天内完成基本的算术和输入操作。
- 它是一种面向对象的多用途编程语言,具有最简单的类实现。
Python中的数组和列表
考虑到我们需要为一些与编程有关的工作创建十个整数类型的变量。我们需要做一些声明,显然,这将包括十行额外的代码。制作这样的代码是一项繁琐的工作。因此我们有数组来解决这个问题。
Python中的数组或列表是需要学习的最基本的数据结构之一。它们是属于一个或多个数据类型的元素的集合。数组背后的想法是,我们可以多次访问这些元素。这也减少了许多行的代码,并消除了对额外变量的创建。
Python中列表和数组的区别
列表 | 阵列 |
包含不同数据类型的元素。 | 包含单一数据类型的元素。 |
通过循环的可迭代 | 通过循环的可迭代 |
它经常在一维模型中操作 | 它经常在一维或多维中操作。 |
当每个人都在这两者之间混淆的时候,主要问题就出现了。所以,为了使它清晰,我们将用代码来应用
在 Python 中声明一个列表
让我们在 Python 中声明一个列表
代码
list1 = [23, 34, 12, 22] # declaring a list
print(list1) # printing the list on the screen
输出
列表输出
我们可以通过各种方式来编辑列表。这些操作包括
- 添加新的元素
- 删除元素
- 将元素与外部元素相乘。
1.添加新元素
**append()**方法在列表的最后添加新元素。这个函数把我们需要添加在最后的元素作为一个参数。
代码
list1 = [11, 34, 23, 33, 4]
list1.append(2) # adds 2 at the end
# Output :- [11, 34, 23, 33, 4, 2]
我们还可以使用索引的概念来编辑列表。索引是分配给列表和数组中每个元素的一个位置数字。它从左至右和从右至左开始。
代码
list1 = [23, 2, 4, 44]
# 0 1 2 3 positive indexing starts from left to right
# -4 -3 -2 -1 negative indexing starts from right to left
要访问它们,我们需要在方括号内调用带有该索引号的列表。在下面的例子中,我们将访问第三个元素。记住,正数的索引从0开始,一直到n-1。
代码
list1 = [11, 34, 23, 33, 4]
print(list1[2])
# Output :- 23
解释
- 索引从0开始,从0到2的计数是3,它的输出结果是23。因此,为了访问第三个元素,我们需要在方括号中调用2。
- 在第二行代码中,我们通过使用相同的属性改变第2个位置的元素。
2.删除新元素
添加新元素的主要目的是好的,但是,当我们需要从列表中删除它们时,也有一些操作。有几个函数可以帮助我们删除对象。
- **clear()**函数将所有的元素从列表中删除,并返回空列表
- **pop()**函数以一个整数即索引号为参数,删除与该索引位置相关的元素。
- **remove()**函数从列表中移除我们需要作为参数给它的元素。
代码
list1 = [23, 89, 2, 3, -1, 12]
list1.clear() # deleting each element from the list
print(list1)
list1 = [23, 89, 2, 3, -1, 12]
list1.pop(4) # deleting the element from 4th index of the list
print(list1)
list1 = [23, 89, 2, 3, -1, 12]
list1.remove(-1) # search and remove the specified element from the list
print(list1)
输出
列表操作
什么是Python中的数组?
Python 有一个独立的**数组操作库。**当我们使用数组 模块时,我们可以感受到某种程度上的C语言编程经验。
我们知道在这个数据结构中,我们只能存储相同数据类型的元素。所以,有一些特殊的Unicode字符供python编译器识别其中的元素或对象的类型。
要声明一个数组,有一系列的规则。array()函数需要一些参数。它们是针对特定数据类型的。
类型代码 | C-类型 | Python类型 |
‘b’ | 有符号的字符 | 整数 |
‘B’ | 无符号字符 | 整数 |
‘u’ | 字符 | 无符号字符 |
‘h’ | 有符号短码 | 整数 |
‘H’ | 无符号短码 | 整数 |
‘i’ | 有符号短码 | 整数 |
‘I’ | 无符号小数 | 整数 |
‘l’ | 有符号长 | 整数 |
‘L’ | 无符号长 | 整数 |
‘q’ | 有符号长长 | 整数 |
‘Q’ | 无符号长字符串 | 整数 |
‘f’ | 浮点数 | float |
‘d’ | 双数 | 浮动 |
指定C型特殊字符是为了使事情更清楚。这些类型表示该特定数组内存在的元素的数据类型。上面的代码是一些基本的实现方式。
代码
from array import *
int_array = array('i', [1, 4, 55, 51, -2])
print('\n Integer array: ',int_array)
char_array = array('u', ['a', 'b', 'c', 'd'])
print('\n Character array: ', char_array)
float_array = array('f', [2.2, 4.3, -1.2, 9.0])
print('\n Floating point array: ', float_array, '\n')
输出
数组操作
数组到列表的转换
其他方法如append(), pop()等也适用于这个模块。通过这个链接在文档页面查看更多内容。其他特殊功能还包括将数组转换为普通列表--array.tolist()。
代码:
from array import *
char_array = array('u', ['a', 'b', 'c', 'd'])
print('\n Character array: ', char_array)
print('Data type: ', type(char_array))
char_array = char_array.tolist()
print('\n','Converted array: ', char_array)
print('Data type: ', type(char_array))
数组到列表的转换
注意:代码中的type()函数返回变量的数据类型。通过它,我们检查数组的数据类型并将数组转换为列表。
什么是 Python 中的图元?
Python 中最基本的数据结构之一是**图元**。图元是不可变的数据结构。我们把元素放在圆括号里,用逗号把它们分开。一旦我们创建了一个图元,就没有办法直接改变或编辑它。
代码
tup = (3, 1, 2, 4, 5, 6) # declaration of a tuple
print(tup) # printing it on the screen
# output - (3, 1, 2, 4, 5, 6)
1.检索元组中的元素
我们可以使用索引方法访问元组中的元素。就像列表一样,元组中的元素被分配了索引号。
tup = (2, 34, 1, -1, -4, 3)
print(tup[3])
print(tup[4])
print(tup[-1])
元组操作
这里我们从元组的第四、第五和最后一个位置上提取元素。
将元组转换为数组和其它数据结构
Python 提供了几个函数和模块来把它们转换成其他数据结构。从字面上看,它们是一些简单的代码行。
将一个元组转换为数组
我们将在这里介绍两种方法。第一个是使用数组模块 ,第二个是使用NumPy 模块。
使用数组模块将元组转换为数组
之前,数组模块帮助我们声明纯数组。但是,我们也可以将其用于转换目的。所以,为了使其清晰,让我们用代码来理解。
from array import *
tup = (23, 98, 3, -2, -4, 11)
print('\n tuple: ', tup)
conv_tup = array('i', tup)
print('\n Converted tuple to an array: ',conv_tup, '\n')
使用数组模块进行转换
说明
- 导入数组模块。
- 声明一个元组。在屏幕上打印它。
- 然后我们使用数组函数。在该函数中给出类型代码为**'i'的**字符。这将把元组转变成一个整数阵列。在下一个参数中,我们把我们的元组用逗号隔开。
- 在屏幕上打印该数组。
使用Numpy模块将元组转换为数组
Numpy- 数值化的Python是一个非常好的数组相关操作的库。它是开发者对复杂数学计算的选择。
为了这个目的,我们使用这个库中的**array()**方法。这个方法将元组转换为NumPy数组,供我们使用。
代码
import numpy as np
tup = (23, 98, 3, -2, -4, 11)
print('\n tuple: ', tup)
print('Data type', type(tup))
conv_tup = np.array(tup)
print('\n Converted tuple to an array: ',conv_tup)
print('Data type', type(conv_tup),'\n')
输出
使用Numpy模块进行转换
解释
- 导入NumPy 模块。
- 声明元组并将其打印在屏幕上。
- 使用type()打印数据类型。
- 声明一个变量conv_tup 并调用**np.array()**方法,其中元组作为参数。
- 在屏幕上打印转换后的元组及其数据类型,以确认转换结果。
将元组转换为一个列表
代码
tup = (2, 34, 2. -1, 9, 0) # declare a tuple
new_tup = list(tup) # converts tuple into list
print(new_tup)
# Output = [2, 34, 2. -1, 9, 0)]
解释
- 首先,我们声明一个元组为tup。
- 然后,我们建立一个变量new_tup,再调用**list()**函数,在里面给我们的元组一个参数。
- 它将其转换为一个普通的列表。
- 然后我们在屏幕上打印它
结论
所以,在这里我们结束了 python 中元组到数组的转换话题。这些代码实现起来非常简单,也很容易学习。所以,请跟踪每一行代码并理解其功能。这篇文章也清除了关于列表和元组的概念。
转载自:https://juejin.cn/post/7025519032363122696