Python 数组[],元组(),字典{}的异同
序列
Python有6中内建的序列,在这里我们重点讨论两种,数组和元组。所有序列都可以做某些特定的操作,大致上常用的是:加,乘,索引,分片以及检查某个元素是否属于序列的成员。
Python还提供一些内建函数来计算序列长度,找出最大值与最小值。
注意:所有的序列都是从0开始递增。
索引
序列中的元素都是有编号的,且编号是从0开始,从左往右数,最后一个为length-1.
从右往左数,因为首元素为0,所以最后一个元素应该为-1.
example:
我认为索引最值得引人注目的地方就是,字符串字面值能够直接使用索引
hello[1]
结果:e
分片
索引用来访问单个元素,用分片来访问一定范围内的元素。分片用:隔开。
所有的分片操作都有两个索引边界number[3:6] 第一个边界包含在内,第二个边界不包含在内。
分片操作可以设置步长,默认步长为1,number[3:6:2] 与matlab不同的是,python分片的步长为第三个参数。当你是用例如number[:6:2] 或者number[2::2] 以及
number[::2] 这样省略边界的分片时,默认是从列表的首尾位置开始分片。
分片也可以用负值,在这里不做介绍。
序列相加
两种相同类型的序列是可以相加的,不同类型的不可以相加。
[1,2,3]+[4,5,6]
序列相乘
用一个数字x乘以一个序列生成新的序列,而在新的序列中,原来的序列被重复X次
example:
python*5
None,空列表以及初始化
在数组(列表)中可以用[]——来表示里面什么都没有。如果想要创建10个这样的占位空间,就可以用[]*10来占位或者[0]*10来占位。
若要占一个空间,且里面没任何元素,就可以用None来占位
[None]*10
成员资格,长度len,最小值min,最大值max
成员资格用 in 运算符,这个运算符来检验某个条件是否为真,然后返回相应的值:True与False.
len,max,min,接受的是一个序列
序列的大儿子,列表(数组)
数组
数组也叫列表,用[]来表示,数组中所存的数据是可变的,python 中的数组与matlab中的数组是一样的含义,都是用[]来表示。
列表这种数据结构适合于将值组织到一个结构中,并且通过编号对其引用。
数组可变就是说,当一个数组被创建后,是可以被修改的。数组是序列的大儿子,只要是序列所有的功能,数组都完美的继承,并发扬光大。
数组的各种方法与分片,索引的具体内容,在这里就不详细说明,有时间再说。
序列的闺女,元组
元组是用()来存储数据。元组是一种不可变的序列。创建一个元组,只需要输入1,2,3
1,2,3 或者(1,2,3),空元组的表示方法为()
注意如果元组里面有元素,结尾一定要加,(3,)
元组的乘法与普通乘法的比较:
Out[19]: 126
3*(40+2,)
Out[20]: (42, 42, 42)
字典,到处乱射的大兄弟
字典是一种通过名字来引用值得数据结构。是python唯一内建的映射类型。用{}来表示。无特殊的顺序,都存储在一个特定的键(Key)中。键可以是数字,字符串,元组。
字典的创建
字典的键与值用:隔开,项与项之间用逗号(,)。空字典就像这样:{}
注意字典中的键是唯一的,值不唯一。
可以用dict函数,通过其他映射(比如其他字典)或者(键,值)对的序列建立字典。
items=[('name','G'),('age',42)]
d=dict(items)
d
Out[23]: {'age': 42, 'name': 'G'}
dict函数也可以通过关键字参数来创建字典。
d=dict(name=’G’,age=42)
d
Out[25]: {‘age’: 42, ‘name’: ‘G’}
字典也有很多与序列相似的基本操作,如
len(d) 返回d中项(键-值对)的数量
d[k] 返回关联到键k上的值
d[k]=v 将值v关联到 键k上
del d[k] 删除键为k的项
del d['age']
d
Out[28]: {'name': 'G'}
k in d 检查d中是否含有键位k的项
#字典与数组的异同
##键类型:字典的键是可以任意的不可变类型,如浮点型,实型,字符串,或者元祖。
##自动添加:字典可以任意的往字典里添加键值对,而不需要使用append方法。
##成员资格:表达式 k in d **(d{}是字典类型)**查找的是键,而不是值。如果表达式 k in d **(d[]是数组)**查找的是值。
example:
people={‘Alice’:{‘phone’:2341,’addr’:’Foo drive 23’},
‘Beth’:{‘phone’:’9102’,’addr’:’Bar street’},
‘Cecil’:{‘phone’:’3218’,’addr’:’Baz ave’}}
labels={‘phone’:’phone number’,’addr’:’address’}
name=raw_input(‘name:’)
request=raw_input(‘phone number(p)or address(a)?’)
if request==’p’:key=’phone’
if request==’a’:key=’addr’
if name in people:print”%s’s %s is %s.” \
%(name,labels[key],people[name][key])
Python 数组[],元组(),字典{}的异同的更多相关文章
- python day4 元组/字典/集合类知识点补充
目录 python day4 元组/字典/集合类知识点补充 1. 元组tuple知识点补充 2. 字典dict的知识点补充 3. 基本数据类型set 4. 三元运算,又叫三目运算 5. 深复制浅复制 ...
- Python 列表/元组/字典总结
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...
- Python列表,元组,字典,序列,引用
1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...
- 【277】◀▶ Python 列表/元组/字典说明
目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- Python 列表,元组,字典
0)字符串切片 py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_st ...
- Python列表,元组,字典,字符串方法笔记
01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...
- python 列表 元组 字典 集合
列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...
- Python 列表&元组&字典&集合
列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...
随机推荐
- matlab 局部特征检测与提取(问题与特征)
物体识别:SIFT 特征: 人脸识别:LBP 特征: 行人检测:HOG 特征: 0. 常见手工设计的低级别特征 manually designed low-level features 语音:高斯混合 ...
- 86.八千万qq密码按相似度排序并统计密码出现次数,生成密码库
存储qq的文件地址以及按照密码相似度排序的文件地址 //存储qq的文件的地址 ] = "QQ.txt"; //按照密码相似度排序的文件地址 ] = "QQpassword ...
- vsphere client 参数
转自:http://blog.163.com/sword_111/blog/static/66589416201422964544918/ C:\Program Files (x86)\VMware\ ...
- Photon + Unity3D 线上游戏开发 学习笔记(三)
好的,说了两篇了 如今我们正式的入手,揭开photon 的盖头哈 建立photon项目 第一步: 在Visual studio建立一个空的 待会为了測试也会在里面建立一个client 项目 (只 ...
- Codeforces #144 (Div. 1) B. Table (组合数学+dp)
题目链接: B.Table 题意: \(n*m\)的矩阵使每个\(n*n\)矩阵里面准确包含\(k\)个点,问你有多少种放法. \((1 ≤ n ≤ 100; n ≤ m ≤ 10^{18}; 0 ≤ ...
- JS学习笔记 - 面向对象 - 原型
<script> var arr1 = new Array(12, 55, 34, 78, 676); var arr2 = new Array(12, 33, 1) Array.prot ...
- 在 Windows 10 x64 上安装及使用 ab 工具的流程
本文转自:www.shuijingwanwq.com/2017/04/18/1568/ 1.基于AB测试工具进行高并发情形下的模拟测试,打开:http://httpd.apache.org/docs/ ...
- 【】queue
[链接]点击打开链接 [题意] 实话实说,给 OIER 大神们排队这种工作是最让人头疼的事情了.因为同学们都有自尊 心,都不愿意排后面. 现在共有 n 个同学要排成一列,每个同学有两个属性:影响力和承 ...
- 【例题5-4 UVA - 156】Ananagrams
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 每个字符串如果每个字符按照升序排一下.假设他们能够互相变化. 则肯定是一样的. 根据这个东西,用一个map来判重就好. [错的次数] ...
- 使用Perl合并文件
使用Perl合并文件 有时需要将整个目录下的小文件合并到一个文件中,以便查阅检索 特性 整个目录完全遍历,自动存入单个文件 顺序遍历文件 待合并的目录 合并后的文件内容 syscfg/test1 sy ...