序列

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 数组[],元组(),字典{}的异同的更多相关文章

  1. python day4 元组/字典/集合类知识点补充

    目录 python day4 元组/字典/集合类知识点补充 1. 元组tuple知识点补充 2. 字典dict的知识点补充 3. 基本数据类型set 4. 三元运算,又叫三目运算 5. 深复制浅复制 ...

  2. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  3. Python列表,元组,字典,序列,引用

    1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...

  4. 【277】◀▶ Python 列表/元组/字典说明

    目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...

  5. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  6. Python 列表,元组,字典

    0)字符串切片 py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_st ...

  7. Python列表,元组,字典,字符串方法笔记

    01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...

  8. python 列表 元组 字典 集合

    列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...

  9. Python 列表&元组&字典&集合

    列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...

随机推荐

  1. 一筐梨子&一筐水果——协变性(covariant)

    假设突然看见这个问题.我们常常会想当然. 一个梨子是水果,一筐梨子是一筐水果吗? watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveXFqMjA2NQ==/f ...

  2. drawerLayout-监听事件四个方法介绍

    1.首先我们看一下它的监听事件的生命周期 代码如下 mDrawerLayout.setDrawerListener(new DrawerListener() { @Override public vo ...

  3. 利用 istio 来对运行在 Kubernetes 上的微服务进行管理

    尝试在一个准生产环境下,利用 istio 来对运行在 Kubernetes 上的微服务进行管理. 这一篇是第一篇,将一些主要的坑和环境准备工作. 内容较多,因此无法写成手把手教程,希望读者有一定 Ku ...

  4. Vue使用Promise自定义confirm确认框组件

    使用Promise模拟浏览器确认框,可自定义标题,内容,按钮文字和类型 参数名 类型 说明 title String 标题 content String 内容 yesBtnText String 确认 ...

  5. COGS——C 14. [网络流24题] 搭配飞行员

    http://cogs.pro/cogs/problem/problem.php?pid=14 ★★☆   输入文件:flyer.in   输出文件:flyer.out   简单对比时间限制:1 s  ...

  6. 人工智能计算器AI Calculator 3.3.0 具体破解思路&教程

    人工智能计算器AI Calculator 3.3.0 具体破解思路&教程 [文章标题]:人工智能计算器AI Calculator 3.3.0 具体破解思路&教程 [文章作者]: Eri ...

  7. linux下pthread_cancel无法取消线程的原因

    一个线程能够调用pthread_cancel终止同一进程中的还有一个线程,可是值得强调的是:同一进程的线程间,pthread_cancel向还有一线程发终止信号.系统并不会立即关闭被取消线程,仅仅有在 ...

  8. Android应用开发-小巫CSDN博客client之获取评论列表

    Android应用开发-小巫CSDN博客客户端之获取评论列表 上一篇博客介绍了博文具体内容的业务逻辑实现,本篇博客介绍小巫CSDN博客客户端的最后一项功能.获取评论列表,这个功能的实现跟前面获取文章列 ...

  9. Oracle动态SQL语句

    动态SQL返回游标: create or replace procedure proc_ValidityDueQuery( p_regioncode in number, p_pscode in nu ...

  10. 三个水杯(BFS)

    三个水杯 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描写叙述 给出三个水杯.大小不一,而且仅仅有最大的水杯的水是装满的,其余两个为空杯子. 三个水杯之间相互倒水,而且水杯 ...