前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python里数组如何定义_Python创建数组

python里数组如何定义_Python创建数组

作者头像
全栈程序员站长
发布于 2022-09-22 09:59:52
发布于 2022-09-22 09:59:52
4.3K0
举报

大家好,又见面了,我是你们的朋友全栈君。

1、Python的数组分三种类型:

(1) list 普通的链表,初始化后可以通过特定方法动态增加元素。

定义方式:arr = [元素]

(2) Tuple 固定的数组,一旦定义后,其元素个数是不能再改变的。

定义方式:arr = (元素)

(2) Dictionary 词典类型, 即是Hash数组。

定义方式:arr = {元素k:v}

2、下面具体说明这些数组的使用方法和技巧:

(1) list 链表数组

a、定义时初始化

a = [1,2,[1,2,3]]

b、定义时不初始化

一维数组:

arr = []

多维数组:

arr = [i for i in range(10), 1,[]] #注意, i for in xx 这个必须放在第一个位置,否则要先定义i,

如:

arr = [i for i in range(5), j for j in range(5), []]

这是错误的

i = 0

j = 0

arr = [i for i in range(5), j for j in range(5), []]

这是正确的

c、del 语句 和 : 的用法

可以用 start : end 表示数组里的一个区间 ( i >= start and i < end)

del 删除数组里的指定元素

如: del arr[0]

del arr[0, 2]

newarr = arr[0, 2]

d、遍历数组:

for k, v in enumerate(arr):

print k, v

e、增加元素:

一维

arr.append(‘aaa’)

二维

arr[0].append(‘aaa’)

如果要在任意位置插入用 arr.insert(n, 值)

此外还有一种特殊的用法是:

arr += [数组元素]

在不指定下标的情况下,是允许用 += 增加数组元素的。

(2) Tuple 固定数组

Tuple 是不可变 list,一旦创建了一个 tuple 就不能以任何方式改变它。

下面拿具体示例说明:

>>> t = (“a”, “b”, “c”, “d”, “e”) #[1] 用小括号包围来定义

>>> t

(‘a’, ‘b’, ‘c’, ‘d’, ‘e’)

>>> t[0] #[2] 直接列出某下标的元素

‘a’

>>> t[-1] #[3] 负数表示,从后面倒数的索引 -1 为倒数第一个, 0是顺数第一个

‘example’

>>> t[1:3] #[4] 这里 1:3 是 i>=1 and i<3 的区间

(‘b’, ‘mpilgrim’)

Tuple 没有的方法:

[1] 不能向 tuple 增加元素,没有 append 、 extend 、insert 等方法。

[2] 不能从 tuple 删除元素,没有 remove 或 pop 方法。

[3] 不能在 tuple 中查找元素,没有 index 方法(index是查找而不是索引,索引直接用下标即可,如:t[0])。

使用 tuple 的好处:

* Tuple 比 list 操作速度快。如果您定义了一个值的常量集, 并且唯一要用它做的是不断地遍历它, 请使用 tuple 代替 list。

* 如果对不需要修改的数据进行 “写保护”, 可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的 assert 语句, 说明这一数据是常量。如果必须要改变这些值, 则需要执行 tuple 到 list 的转换 (需要使用一个特殊的函数)。

* 还记得我说过 dictionary keys 可以是字符串, 整数和 “其它几种类型”吗? Tuples 就是这些类型之一。 Tuples 可以在 dictionary 中被用做 key, 但是 list 不行。实际上, 事情要比这更复杂。Dictionary key 必须是不可变的。Tuple 本身是不可改变的, 但是如果您有一个 list 的 tuple, 那就认为是可变的了, 用做 dictionary key 就是不安全的。只有字符串, 整数或其它对 dictionary 安全的 tuple 才可以用作 dictionary key。

Tuple 可以转换成 list, 反之亦然。

转换方式为:

t = list( t )

反之:

arr = tuple( arr )

(2) Dictionary (哈希数组)词典数组

#Dictionary 的用法比较简单,它可以存储任意值,并允许是不同类型的值,下面实例来说明:

#下面例子中 a 是整数, b 是字符串, c 是数组,这个例子充分说明哈希数组的适用性。

dict_arr = {‘a’: 100, ‘b’:’boy’, ‘c’:[‘o’, ‘p’, ‘q’]}

#可以直接增加一个元素,如果同名,则会改变原来的key的元素的值

dict_arr[‘d’] = ‘dog’

#输出所有的key

print dict_arr.keys()

#输出所有的value

print dict_arr.values()

#遍历数组

import types

for k in dict_arr:

v = dict_arr.get(k)

if type(v) is types.ListType: #如果数据是list类型,继续遍历

print k, ‘—‘

for kk, vv in enumerate(v):

print kk, vv

print ‘—‘

else:

print dict_arr.get(k)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170312.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
详解PON基础知识:OLT、ONU、ONT和ODN,建议收藏
光纤到户(FTTH)已开始受到全球电信公司的重视,技术得以快速发展,有源光网络 (AON) 和无源光网络 (PON) 是使 FTTH 宽带连接成为两大系统,可以提供具有成本效益的解决方案的 PON 在大多数 FTTH 部署中更为普遍。
网络技术联盟站
2021/12/17
4.7K0
详解PON基础知识:OLT、ONU、ONT和ODN,建议收藏
如何区分光接入网OLT, ONU, ODN,ONT?
光接入网络(点此查看什么是光接入网)就是以光为传输介质的接入网络,替代铜线,用于接入每个家庭.光接入网络。光接入网络一般有三个部分组成: 光线路终端OLT,光网络单元ONU,光分配网络ODN,其中OLT和ONU光接入网络的核心部件。
亿源通科技HYC
2020/05/29
3.3K0
如何区分光接入网OLT, ONU, ODN,ONT?
什么是有源(AON)和无源(PON)光网络?
光纤到户(FTTH)实现了将光纤从中心点直接安装到终端用户家中,提供了前所未有的高速互联网接入。实现FTTH网络部署有两种类型的系统:AON(有源光网络)和PON(无源光网络)。
亿源通科技HYC
2020/05/20
2.4K0
什么是有源(AON)和无源(PON)光网络?
全面了解APON,BPON,EPON,GPON
PON即Passive Optical Network的简称,中文名为“无源光网络”。PON作为“接入网技术”的一种,常用在我们俗话说的“最后一公里”,在组网中广泛使用。一般PON系统结构由OLT(光线路终端)、ODN(光分配网)、ONU(光网络单元)等部分组成,而OLT、ODN、ONU之间没有任何有源设备,仅用光纤和无源组件连接。PON主要采用点对多点网络结构,是实现FTTB/FTTH的主要技术。
ICT系统集成阿祥
2024/12/03
4650
全面了解APON,BPON,EPON,GPON
一篇文章全面了解光纤到户FTTH,光分路器
光纤到户英文是FTTH(Fiber to the home),是光纤通信的一种传输方式。顾名思义是直接把光纤直接连接到用户终端。FTTH是FTTx中的一种接入方式,那什么是FTTx?
亿源通科技HYC
2021/03/31
2.9K0
一篇文章全面了解光纤到户FTTH,光分路器
什么是三网合一?三网合一如何建设?
很多朋友多次提到什么是三网合一?在我们弱电vip技术群中也经常讨论三网合一如何建设?今天我们一起来看下。
网络工程师笔记
2021/07/20
5.8K0
吉比特无源光网络三巨头:GPON、XG-PON和XGS-PON到底有啥区别?
Passive Optical Network(PON)技术已经成为Fiber-to-the-X(FTTx)网络建设的主流技术之一。随着用户对高带宽需求的不断增长,特别是随着OTT视频、4K电视等大流量应用的普及,运营商纷纷将10G GPON技术纳入日程,以满足用户对更快速、更可靠网络连接的迫切需求。
网络技术联盟站
2024/06/03
6.9K0
吉比特无源光网络三巨头:GPON、XG-PON和XGS-PON到底有啥区别?
什么是EPON、GPON?它们之间有啥区别?
它们具有竞争性和互补性,具有自身独特的优势,本教程将从不同方面说明 EPON 与 GPON 的比较。
网络技术联盟站
2023/03/13
12.3K1
什么是EPON、GPON?它们之间有啥区别?
关于光纤宽带技术,看这一篇就够啦!
很抱歉地提醒大家:虽然感觉已经热了很久,但是实际上,昨天才是入伏的第一天。接下来,我们将进入一年当中最炎热的时期。
鲜枣课堂
2019/07/20
2.2K0
光纤上网究竟是如何实现的?
这个光猫,学名叫作ONT,光网络终端(Optical Network Terminal),也被叫作光纤用户接入设备。
鲜枣课堂
2019/07/28
1.8K0
传输网快速入门,看这一篇就够了!
传输网,是通信网络的重要组成部分。没有它,网络的不同设备之间,就无法进行数据通信。
鲜枣课堂
2019/07/20
4.5K0
什么是PON(无源光纤网络)、PON的发展及演进
全球知名媒体Omdia在光纤和铜缆接入设备预测报告中对2022年2月的预测显示,PON设备端口收入预计在2020年至2027年期间以12.3%的年复合增长率增长,到2027年将达到163亿美元,远高于2020年的82亿美元。
亿源通科技HYC
2022/05/27
4K0
什么是PON(无源光纤网络)、PON的发展及演进
接入网究竟是个什么网
如今,无论是在家里使用的固定网络(宽带),还是家里户外随时能用的移动网络(手机),都已经和水、电、气一样,成为日常生活中不可或缺的一部分。
网络工程师笔记
2021/06/23
1.5K0
接入网究竟是个什么网
什么是光分路器,有哪些重要技术指标?
光分路器是光纤链路中重要的无源器件之一,主要起分光的作用,一般应用在无源光网络的光线路终端OLT和光网络终端ONU之间实现光信号的分路。
亿源通科技HYC
2020/03/27
2.2K0
什么是光分路器,有哪些重要技术指标?
FTTx的技术分类
光纤接入指的是终端用户通过光纤连接到局端设备。根据光纤深入用户的程度的不同,光纤接入可以分为FTTB(Fiber To The Building,光纤到楼),FTTP/FTTH(将光缆一直扩展到家庭或企业),FTTO(光纤到办公室),FTTC(光纤到路边)等,它们统称为FTTx。点此处了解更多FTTx应用类型。
亿源通科技HYC
2020/05/19
9090
FTTx的技术分类
光纤反射器如何应用于PON网络链路监控
在PON(Passive optical network,无源光纤网络)网络中,尤其是复杂的点到多点的PON ODN(Optical distribution network,光配线网络)拓扑结构环境,光纤故障的快速监测与诊断成为一件具有挑战性的工作。虽然目前光时域反射仪(OTDR,optical time domain reflectometer)工具广泛应用,但对于一些ODN分支光纤或ONU光纤末端的光信号的衰减,OTDR检测有时并不是特别灵敏。在ONU侧安装一个低成本的波长选择性光纤反射器,往往是目前使用较多的做法,通过其可实现对光链路端到端衰减的精确检测。
亿源通科技HYC
2019/09/19
7780
光纤反射器如何应用于PON网络链路监控
PON,真不是 “破” 网 !
大家有没有在网络卡顿的时候,心里默默吐槽“这破网”?今天,文档君要聊的PON(Passive Optical Network,无源光网络),可不是你心里那个“破”网,而是网络世界中的超级英雄家族——PON。
通往ICT之路
2024/11/27
2150
PON,真不是 “破” 网 !
PON系统“被动光网络”
PON系统(Passive Optical Network,被动光网络)是一种基于光纤传输的接入网络架构,常用于提供宽带接入服务。PON系统的组成包括光线路终端(OLT)、光分配网络(ODN)和ONU(光网络单元)三大部分。
久绊A
2024/04/23
1300
GPON 的功率预算应该怎样做?
GPON(Gigabit-Capable Passive Optical Network,吉比特无源光网络)技术是无源光网络(PON)家族中一个重要的技术分支。
通往ICT之路
2024/11/18
2250
GPON 的功率预算应该怎样做?
光纤设备入门需知
D:双纤 LC:光纤LC接口兼容 05或20:0.5KM(多模)和20KM(单模)
Ponnie
2022/01/13
1.3K0
光纤设备入门需知
相关推荐
详解PON基础知识:OLT、ONU、ONT和ODN,建议收藏
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档