Python 数组

在本文中,您将学习Python数组,数组和列表之间的区别,以及如何以及何时使用示例来使用它们。

在编程中,数组是相同类型的元素的集合。

数组在Java,C / C ++,JavaScript等大多数编程语言中都很流行。但是,在Python中,它们并不常见。人们经常谈论Python数组时,他们谈论的是Python列表。如果您如果不知道什么是列表,则绝对应该查看Python列表文章。

Python列表和数组模块作为数组

我们可以将列表视为数组。但是,我们不能限制列表中存储的元素的类型。例如:a = [1, 3.5, "Hello"]

如果使用array模块创建数组 ,则数组的所有元素必须为相同的数字类型。import array as arr

a = arr.array('d', [1, 3.5, "Hello"]) // Error

如何创建数组?

您可能从上面的示例中猜到了,我们需要导入array模块以创建数组。例如:import array as arr

a = arr.array('d', [1.1, 3.5, 4.5])

print(a)

在这里,我们创建了一个float类型数组。字母'd'是类型代码。这确定了创建过程中数组的类型。

常用的类型代码:CodeC 类型Python 类型最小字节'b'signed charint1

'B'unsigned charint1

'u'Py_UNICODEUnicode2

'h'signed shortint2

'H'unsigned shortint2

'i'signed intint2

'I'unsigned intint2

'l'signed longint4

'L'unsigned longint4

'f'floatfloat4

'd'doublefloat8

我们将不在本文中讨论不同的C类型。在整篇文章中,我们将使用两种类型代码:'i'整数和'd'浮点数。

注意:'u'自版本3.3起,不推荐使用Unicode字符的类型代码。尽可能避免使用它。

如何访问数组元素?

我们使用索引来访问数组的元素:import array as arr

a = arr.array('i', [2, 4, 6, 8])

print("第一个元素:", a[0])

print("第二个元素:", a[1])

print("最后一个元素:", a[-1])

请记住,索引从0(而不是1)开始,类似于列表。

如何切片数组?

我们可以使用切片运算符访问数组中的一系列项目:。import array as arr

numbers_list = [2, 5, 62, 5, 42, 52, 48, 5]

numbers_array = arr.array('i', numbers_list)

print(numbers_array[2:5]) # 第3-第5个元素

print(numbers_array[:-5]) # 从开始到第4个元素

print(numbers_array[5:]) # 从第6个元素到末尾

print(numbers_array[:]) # 从开始到末尾

运行该程序时,输出为:array('i', [62, 5, 42])

array('i', [2, 5, 62])

array('i', [52, 48, 5])

array('i', [2, 5, 62, 5, 42, 52, 48, 5])

如何更改或添加元素?

数组是可变的;它们的元素可以类似列表的方式进行更改。import array as arr

numbers = arr.array('i', [1, 2, 3, 5, 7, 10])

# 改变第一个元素

numbers[0] = 0

print(numbers) # 输出: array('i', [0, 2, 3, 5, 7, 10])

# 改变第3到第5个元素

numbers[2:5] = arr.array('i', [4, 6, 8])

print(numbers) # 输出: array('i', [0, 2, 4, 6, 8, 10])

我们可以使用append()方法将一个项目添加到列表中,或者使用extend()方法将多个项目添加到列表中 。import array as arr

numbers = arr.array('i', [1, 2, 3])

numbers.append(4)

print(numbers) # 输出: array('i', [1, 2, 3, 4])

# extend()将iterable追加到数组的末尾

numbers.extend([5, 6, 7])

print(numbers) # 输出: array('i', [1, 2, 3, 4, 5, 6, 7])

我们可以使用+运算符连接两个数组。import array as arr

odd = arr.array('i', [1, 3, 5])

even = arr.array('i', [2, 4, 6])

numbers = arr.array('i') # 创建一个空的整数数组

numbers = odd + even

print(numbers)

如何移除/删除元素?

我们可以使用Python的del语句从数组中删除一个或多个项目。import array as arr

number = arr.array('i', [1, 2, 3, 3, 4])

del number[2] # 删除第三个元素

print(number) # 输出: array('i', [1, 2, 3, 4])

del number # 删除整个数组

print(number) # 错误:没有定义数组

我们可以使用remove()方法删除给定项目,也可以使用 方法删除给 pop()定索引处的项目。import array as arr

numbers = arr.array('i', [10, 11, 12, 12, 13])

numbers.remove(12)

print(numbers) # 输出: array('i', [10, 11, 12, 13])

print(numbers.pop(2)) # 输出: 12

print(numbers) # 输出: array('i', [10, 11, 13])

什么时候使用数组?

列表比数组灵活得多。它们可以存储不同数据类型的元素,包括字符串。而且,列表比数组要快。而且,如果您需要对数组和矩阵进行数学计算,则最好使用NumPy库之类的方法。

除非您真的需要数组(与C代码接口可能需要数组模块),否则不要使用它们。

python输入数组的方法_Python 数组相关推荐

  1. python定义数组的方法_Python数组定义方法详细介绍

    本文实例讲述了Python数组定义方法.分享给大家供大家参考,具体如下: Python中没有数组的数据结构,但列表很像数组,如: a=[0,1,2] 这时:a[0]=0, a[1]=1, a[[2]= ...

  2. javascript数组——新建数组、访问数组、遍历数组的方法、数组对象的方法、冒泡排序算法、json的正反序列化

    目录 数组 通过构造函数的三种方法 字面量创建数组方式 访问数组 遍历数组的方法 遍历:遍历就是把数组中的元素从头到尾都访问一次 操作数组对象的方法 删除和添加 delete与Vue.delete区别 ...

  3. 遍历数组的方法和数组的遍历方法(3+10种)(上)

    文章目录 简介 遍历数组的方法 for循环遍历 特点: 使用: 输出: for in遍历 特点: 使用: 输出: 3. for of循环 特点: 使用: 输出: 简介 总所周知,遍历的方法有很多种,有 ...

  4. python 数组方法_Python 数组(Array)

    如果存储的数据类型相同,list的存储方式就显得不太合适,python提供了array模块进行数组的操作. 特性: (1)array 中每一个元素及为值本身. (2)array使用连续的存储空间存储一 ...

  5. python中数组元素引用_python数组

    ## Python数组 注意:Python不具有对数组的内置支持,但是可以使用[Python列表](https://www.w3schools.com/python/python_lists.asp) ...

  6. python中数组追加数据_python数组追加

    记linux shell的两个小技巧:shell数组和字符串判断 最近在使用shell写脚本的时候,想实现python中两个很简单的功能:1:判断一个字符串是否包含另一个字符串.2:怎么用实现pyth ...

  7. python数组追加值_python数组追加

    记linux shell的两个小技巧:shell数组和字符串判断 最近在使用shell写脚本的时候,想实现python中两个很简单的功能:1:判断一个字符串是否包含另一个字符串.2:怎么用实现pyth ...

  8. python输入一个英文句子_Python给定一个句子倒序输出单词以及字母的方法

    python输入一个正整数(位数不限),将其倒序输出def inversenum(num) numlist=liststr(nun) while numlist[-1]='0': numlist. p ...

  9. python输入文字垂直输出_python中len用法-python计算数学表达式-利用python如何垂直输出文字...

    python中len是什幺意思 >>> list = [1,2,3] >>> len(list) 3 >>> l = '123' >> ...

最新文章

  1. 深入浅出谈以太坊智能合约
  2. Tomcat通过Redis实现session共享的完整部署记录
  3. Vue中用TypeScript改写JavaScript及装饰器使用
  4. Redis进阶-如何发现和优雅的处理BigKey一二事
  5. Almost Regular Bracket Sequence
  6. HBase shell 中的十六进制数值表示
  7. 语言怎么得到直流电压并采样_交流电AC如何转换成直流电DC?
  8. 第一名数据科学工作冠状病毒医生
  9. nginx wsgi django 建站配置最终版
  10. Python 装饰器详解(上)
  11. 北航软件工程考研经验总结
  12. 用HTml+csss实现优惠券
  13. 服务器在线测速系统源码
  14. 人生就像四季,繁华过后终归平淡,不可能一直繁华似锦,不可能一路花香四溢。...
  15. python做地图热力图保存为png_Python如何实现热力图?可视化入库图实战演示
  16. 单笔转账到支付宝账户接口
  17. 非常实用的织梦dede所有标签调用方法大全
  18. Filter 过滤器拦截路径配置
  19. 应广单片机PFC151
  20. 网络起源--计算机网络

热门文章

  1. 编写一个SQL查询来报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为空 null 【杭州多测师】【杭州多测师_王sir】...
  2. golang设计模式——职责链模式
  3. java lftp_lftp使用详解
  4. 炉石传说服务器维修,值25卡包! 炉石传说服务器故障补偿你满意吗?
  5. 程序员--看看你的反应有多快,有趣的脑筋急转弯(2)
  6. 爱奇艺动漫App上线已久未能C位:推广很关键
  7. JavaScript 在各个浏览器中执行的耐性
  8. 黄石理工学院计算机c语言3 2考试,黄石理工学院《C语言程序设计》试卷2及答案.doc...
  9. 尼玛,原来抢票还有这么多道道.....
  10. iphone Simulator 路径