获得更多资料欢迎进入我的网站或者 csdn或者博客园

前面一张主要学习了Python的安装,以及第一个程序helloword的编写,以及简单的输入和输出函数,这章主要介绍序列,列表,元组

序列

 这章主要介绍的是列表和元组,而列表和元组是序列的六种内型中的两种,主要区别。列表可以修改,而元组不能。而序列很好用比如要操作一组人的名字和年龄可以这样:

>>>peace=['peace one',23]

>>>rong=['sisi',22]

>>>data=[peace,rong]

>>>data

[['peace one',23],['sisi',22]]

序列可以包含其他序列;比如data包含了peace和rong序列

索引

 1、序列名按序号索引

>>>peace[1]

23

>>>data[1][1]

22

 2、字符串直接按序号索引还可对输入进行索引

>>>'hello'[1]

'e'

>>>two=raw_input('year: ')[1]

year: 2015

>>>two

'0'

分片索引、

 1跟按序号索引类似,可以使用分片操作来访问一定范围内的元素。分片通过冒号分隔开来实现;

>>>tag='My name is one peace'

>>>tag[11:20]

>>>'one peace'

注意:第一个索引是分片的第一个元素索引,第二个索引是分片元素最后一个元素索引+1;哪怕像上面的+1索引不存在也没关系.同样制空最后一个索引也是可以的;如下:

>>>tag[-9: ]

>>>'one peace'

 2更大的步长,在两个索引后面再加一个冒号和步长;

>>>tag[1:11:2]

'ynm s'

注意:同样步长也可以为负数,不过为负数时,是从后往前输出。此时必须第一个索引再第二个索引的后面;比如:

>>>tag[11:1:-2]

'os mn'

序列运算

 1相加又称连接

>>>[1,2,3]+[3,4,6,]

[1,2,3,4,5,6]

注意:两种相同类型才能进行连接操作;比如:[1,2]+'hello'会返回错误

 2相乘用列表乘以数字x,得到的新的序列会重复被乘序列x次

>>>[42]*5

[42,42,42,42,42]

 3成员资格,检查一个值是否在序列当中,可以使用in运算。

>>>'p' in tag

True

>>>'pe' in tag

True

>>>'px' in tag

False

 4长度,最大值,最小值

#长度函数len

>>>len(tag)

20

#最大值函数max

>>>max([3,4,5])

5

>>>min([3,4,5])

3

列表

list函数

 1,list函数,创建列表;

>>>str=list('hello')

>>>str

['h','e','l','l','o']

列表操作

 1改变列表,元素赋值

>>>str[1]='p'

>>>str

['h','p','l','l','o']

 2删除元素 使用del来删除

>>>del str[1]

>>>str

['h','l','l','o']

 3分片赋值。主要作用如下:

#1,可以使用与原序列不等长的序列将分片替换

>>>str[1: ]=list('peace')

>>>str

['h','p','e','a','c','e']

#2,可以不替换任可元素的情况下插入元素

>>>str[1:1]=list('one')

>>>str

['h','o','n','e','p','e','a','c','e']

#3,当然也可以删除、

>>>str[1:4]=list()

>>>str

['h','p','e','a','c','e']

列表方法

方法是一个与对象紧密相关的函数。直接对象.方法进行调用

列表有append(末尾追加),count(统计次数),extend(新列表追加),index(找到元素为知),insert(按序号插入)

pop(按序号删除)remove(按值删除)reverse(元素翻转),sort(排序),sorted(获取排序后的结果),特殊排序:

sort(cmp)通过比较类型排序,sort(key=len)通过建函数排序(此去是长度len),sort(reverse=True)通过True和false来判断是否翻转排序;

方法操作如下:

#append方法
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.append(list(" tiger"))
>>> name
['s', 'c', 'o', 't', 't', [' ', 't', 'i', 'g', 'e', 'r']]
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.append("A","B") #添加多个元素即将报错
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: append() takes exactly one argument (2 given)
>>> name.append("A")
>>> name
['s', 'c', 'o', 't', 't', 'A']
#count方法
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.count('s')
1
>>> name.count("t")
2
>>> name.count("A")
0
>>> name.append(list("Python"))
>>> name
['s', 'c', 'o', 't', 't', ['P', 'y', 't', 'h', 'o', 'n']]
>>> name.count(['P', 'y', 't', 'h', 'o', 'n'])
1
#extend方法
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.extend(list(" tiger"))
>>> name
['s', 'c', 'o', 't', 't', ' ', 't', 'i', 'g', 'e', 'r']
#index方法
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.index('t') ##第一个字母t的索引位置是3
3
>>> name.index('a')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ValueError: list.index(x): x not in list
>>> 'a' in name
False
>>> 'a' not in name
True
#insert方法
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.insert(2,'tiger') ##在索引为2的地方插入字符串tiger
>>> name
['s', 'c', 'tiger', 'o', 't', 't']
#pop方法
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.pop()
't'
>>> name
['s', 'c', 'o', 't']
>>> name.append("t")
>>> name
['s', 'c', 'o', 't', 't']
#remove方法
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.remove("t") #去掉第一个t
>>> name
['s', 'c', 'o', 't']
>>> name.remove("A") #不存在会报错
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ValueError: list.remove(x): x not in list
>>> "A" not in name
True
>>> name.remove("s","c") #一次只能移除一个元素
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: remove() takes exactly one argument (2 given)
#reverse方法
>>> name = list("scott")
>>> name
['s', 'c', 'o', 't', 't']
>>> name.reverse()
>>> name
['t', 't', 'o', 'c', 's']
#sort方法
>>> result = [8,5,5,3,9]
>>> result.sort()
>>> result
[3, 5, 5, 8, 9] #sorted方法 >>> result = [8,5,5,3,9]
>>> result2 = sorted(result)
>>> result
[8, 5, 5, 3, 9]
>>> result2
[3, 5, 5, 8, 9]

元组

元组

元组与列表一样,也是一种序列,唯一不同的是元组不可以修改:

元组操作

>>> 1,2,3

(1, 2, 3)

>>> ()

()
#对于单个元素必须加上逗号,加上逗号后就表示数字是元组了
>>> 42 42 >>> 42, (42,) >>> (42,) (42,)

元组tuple函数

>>> tuple([1,2,3])

(1, 2, 3)

>>> tuple('abc')

('a', 'b', 'c')

>>> tuple((1,2,3))

(1, 2, 3)

列表与元组的相互转化

>>> T=('cc','aa','dd','bb')

>>> tmp=list(T)

>>> tmp

['cc', 'aa', 'dd', 'bb']

>>> T=tuple(tmp)

>>> T

('cc', 'aa', 'dd', 'bb')

相关链接:

python3入门之类

python3入门之函数

python3入门之循环

python3之if语句

python3入门之赋值语句介绍

python3入门之print,import,input介绍

python3入门之set

python3入门之字典

python3入门之字符串

python3入门之列表和元组

python3入门之软件安装

python3爬虫之入门和正则表达式

python3入门之列表和元组的更多相关文章

  1. python3.0 day02 列表、元组 、字典、字符串操作

    1.列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作,类似于其他语言中的数组. 定义列表 names = ['Lioa',"Tenglan ...

  2. python3 入门 (二) 列表的使用

    列表用于组织其它数值,即写在方括号之间.用逗号分隔开的数值列表.列表内的项目不必全是相同的类型. 列表的定义 student = ['Tom', 'Jack', 'Avril'] 添加元素 将另一个列 ...

  3. python3入门之类

    在面向对象的语言中,类是最重要的一环,python自然拥有类这个机制.python的类机制,与C++,java的区别不是很大,类的大多数的重要特性都被沿用了,一样可以多态,抽象,封装: python3 ...

  4. python3入门之集合set

    之前介绍python的数据结构时,没有介绍set(集合)现在在这里稍微介绍下: set原理 Python 还 包 含 了 一 个 数 据 类 型-- set ( 集 合 ) . 集 合 是 一 个 无 ...

  5. python3入门之函数

    相信大家学习过其他语言,懂得函数的作用.简单的说函数最好的作用就是可以使程序变得懒惰.python作为后起之秀,当然也会拥有函数这个有用的东西: 创建函数 使用def语句即可创建函数,如创建一个用来生 ...

  6. python3入门之赋值语句介绍

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍赋值语句,以及几种特殊的赋值.下面附有之前的文章: python3入门之print,import,input介绍 python入门之字 ...

  7. python3入门之print,import,input介绍

    本节主要介绍print,import和input,t函数,包括他们在python2.7和python3 的区别以及用法.下面附有之前的文章: ​ python3的print函数的变化 python3之 ...

  8. python3入门之字典

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍字典,字典也成映射,时python中唯一内建的映射类型.更多详细请点击readmore.下面附有之前的文章: python入门之字符串 ...

  9. python3入门之字符串

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 经过前面的介绍相信大家也对python有了一个初步的了解:本节主要介绍字符串,不管学习什么编语言字符串一定在其中扮演着重要的地位.本节主要讲解,字 ...

随机推荐

  1. 通过DG_BROKE搭建Oracle11g_adg

    1.环境 db_primary db_stanby db版本 11.2.0.4.0 11.2.0.4.0 os版本 centos 6.4 centos 6.4 db_unique_name newte ...

  2. js处理小数加减时精度失真

    最近公司业务有用js处理数据加减,但有时候会出现很多位小数:后来发现是js处理小数时精度失真:为了后边不在犯类似错误,笔者觉得有必要记录下处理方法,当然处理方法有很多种,这里笔者找了一种较为简洁的方法 ...

  3. FPGA---ucf文件语法

    1.约束文件的概念 FPGA设计中的约束文件有3类:用户设计文件(.UCF文件).网表约束文件(.NCF文件)以及物理约束文件(.PCF文件),可以完成时序约束.管脚约束以及区域约束.3类约束文件的关 ...

  4. angular与avalon对复杂对象的修改

    angular的实现 <!doctype html> <html ng-app> <head> <script src="http://files. ...

  5. EHR 1.172无法启动数据库,提示磁盘空间不足 设置非归模式

    数据库无法访问,提示ORA-09817错误: 1.查看磁盘空间df -h,使用率100%,看出dbs夹占184G    在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive ...

  6. linux标准目录结构

    初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普通用户的个人文件 ftp ...

  7. codeforce468DIV2——D. Peculiar apple-tree

    题意给你一颗树,开始时每个结点都有一个小球,每一秒钟每个小球都往上滚一层,当两个球在同一个结点的时候会被消去,如果三个五个七个等在同一个结点的化消去后只剩一个. 分析 这对我来说就TM是英语阅读理解哇 ...

  8. Tensorflow学习(练习)—使用inception做图像识别

    import osimport tensorflow as tfimport numpy as npimport re from PIL import Imageimport matplotlib.p ...

  9. linux安全关机脚本

    linux安全关机脚本 在断电4分钟后判断关键 目的:在断电以后服务器连接UPS,UPS最多只能支持5分钟也会没电,所以在这里做个判断,如果断电4分钟后,市电还没来就关机. 以下两个设备为两个下路由器 ...

  10. Luogu 4473 [国家集训队]飞飞侠

    BZOJ 2143 新技能:并查集优化最短路. 暴力最短路是$O(n^4)$的,然后拿个线段树优化一下连边就$O($能过$)$了. 但是这样都太慢了. 我们考虑一个点如果之前被更新过了,那么之后就不会 ...