Python的元组与列表类似,同样可通过索引访问,支持异构,任意嵌套。不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

创建元组

  元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可

  tuple = ()          #空元组

  tuple2 = ('a','b','c')

  tuple3 = ('d','e','f')

可以用dir(tuple)查看元组支持的操作;

元组操作方法及实例展示

count

1 功能:统计元组中某元素的个数
2 语法:T.count(value) -> integer -- return number of occurrences of value
3 T = ('a','b','c','d',1,2,2,3,4)
4 T.count(2)
5 结果:2 index
1 功能:获取元素在元组中的索引值,对于重复的元素,默认获取从左起第一个元素的索引值
2 语法:T.index(value, [start, [stop]]) -> integer -- return first index of value.Raises ValueError if the value is not present.
3 T = ('a','b',2,'c','d',1,2,3,4)
4 T.index(2)
5 结果:2 #元素2第一次出现在索引为2的位置
6 T.index(2,3,7)
7 结果:6 T1 + T2
1 功能:合并两个元组,返回一个新的元组,原元组不变
2 语法:T = T1 + T2
3 T1 = ('a','b','c')
4 T2 = (1,2,3,4)
5 T = T1 + T 2
6 结果:
7 print T
8 ('a','b','c',1,2,3,4)
9 print T1
10 ('a','b','c')
11 print T2
12 (1,2,3,4) T1 * N
1 功能:重复输出元组N次,返回一个新元组,原元组不变
2 语法:T = T1 * N
3 T1 = ('a','b',1,2,3)
4 T = T1 * 3
5 结果:
6 print T
7 ('a','b',1,2,3,'a','b',1,2,3,'a','b',1,2,3)
8 print T1
9 ('a','b',1,2,3) 元组虽然不可变,但是当元组中嵌套可变元素时,该可变元素是可以修改的,元组本身不变,使用id(tuple)查看。
1 T = ('a','b','c',[1,2,3,4],1,2,3)
2 id(T)
3 140073510482784
4 print T[3]
5 [1,2,3,4]
6 T[3].append(5)
7 print T[3]
8 [1,2,3,4,5]
9 print T
10 ('a','b','c',[1,2,3,4,5],1,2,3)
11 id(T)
12 140073510482784 元组支持切片操作
1 语法:T[start [, stop[, step]]]
2 实例演示:
3 T = ('a','b','c','d','e','f','g','h')
4 print T[:] #取所有元素
5 ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h')
6 print T[2:] #取从索引2开始到末尾的元素
7 ('c', 'd', 'e', 'f', 'g', 'h')
8 print T[2:6] #取索引2到6的所有元素,不包含索引6
9 ('c', 'd', 'e', 'f')
10 print T[2:6:2] #从索引2到6,每隔一个元素取一个
11 ('c', 'e')

2.列表(list)是处理一组有序项目的数据结构,即可以在列表中存储一个序列的项目。
列表是 可变类型的数据
2.1创建 列表l
ist1 = [ ]

list2=list()

list3  = [ 1, 'a',(1,),['hello,python']

2.2.列表中的元素是可以被 改变的,如下图

list.append 和删除 del list[]

list.remove(list[])  ,remove 为列表的删除方法。

list3.  按tab键,可以看到列表的其它方法

练习:
现有列表
list1 = ['XXXX', 'b', 3, 'c', '&', 'a', 3, '3', 3, 'aa', '3', 'XXXX']
list2 = ['e', 'f', 'g']
要求对其做以下操作:
1. 取出 ‘XXXX’ 中间的部分,形成一个新的列表list3

list1 = ['XXXX', 'b', 3, 'c', '&', 'a', 3, '3', 3, 'aa', '3', 'XXXX']
list2 = ['e', 'f', 'g']

list3=list1[1:11]

利用列表的切片功能,这时候要注意下表从0开始,11这个不包括本身。

2. 对list3 做一下几部操作
1)删除特殊符号

list3.remove('&')

2)统计 3 在list3中出现的次数

list3.count(3)

3)用最简短的代码去除list3中 26个字母以外的元素(要求只能对list3操作)

4)对list3排序

list3.sort

5)在末尾追加'd',并把list2追加到list3

list3.append('d')

3. 现有两个变量

a = ('h',)
b = ('h')
1)将a和b分别追加到上一题的list3中,观察有什么区别

a = ('h',)
b = ('h')
list3.append(a)
list3.append(b)
print list3


2)将1生成的list3转换成元组(扩展:自己搜索方法)

tuple(list3)


3)打印出只有一个元素'h'的元组,在2中生成的元组中的索引


print tuple(list3).index(a)

3.python元组与列表的更多相关文章

  1. python 元组不变 列表可变

    python 元组不变 列表可变 1,   --元组,注意要有逗号: [1] --列表 竟然才开始写python blog:

  2. [转载]Python 元组、列表、字典、文件

    python的元组.列表.字典数据类型是很python(there python is a adjective)的数据结构.这些结构都是经过足够优化后的,所以如果使用好的话,在某些area会有很大的益 ...

  3. 总结python 元组和列表的区别

    python的基本类型中有元组和列表这么俩个,但是这哥俩却比较难于区分,今天就来用简单的实例说明两者的不同. 列表:1.使用中括号([ ])包裹,元素值和个数可变 实例: aaa = ['sitena ...

  4. Python 元组、列表

    Python中,最常用的数据结构就是序列了.序列有以下几种:元组,列表,字符串等.注:代码都是在IDE中编辑的,没有用交互式环境. 一.元组(tuple) 元组其实有点类似C++中的数组,即一旦指定了 ...

  5. Python 元组和列表

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 ...

  6. Python --元组与列表的差异

    · Python中的元组与列表类似,不同之处是元组的元素不能修改 · 元组使用小括号,不使用括号也可以,列表使用方括号 for example:

  7. Python元组、列表--笔记

    <Python3 程序开发指南> 序列包括元组和列表,首先,我们介绍元组. 元组--tuple 元组为有序的序列,元组和字符串一样也是固定的,不能替换或删除其中的任意数据项.如果需要修改应 ...

  8. Python元组与列表的区别

    列表类似于我们用铅笔在纸上写字,写错了还可以擦掉:而元组则类似于用钢笔写字,写错了就擦不掉了,除非换张纸重写. 列表和元组的区别主要体现在一下几个方面: 列表属于可变序列,他的元素可以随时修改或删除: ...

  9. Python元组与列表的区别和联系?

    1.  元组和列表比较相似,不过它们之间也有着不同: (1)列表:一个大仓库,你可以随时往里边添加和删除任何东西. (2)元组:封闭的列表,一旦定义,就不可改变(不能添加.删除或修改). 2. 什么情 ...

随机推荐

  1. IdentityServer4 SigningCredential(RSA 证书加密)

    IdentityServer4 默认提供了两种证书加密配置: services.AddIdentityServer() .AddDeveloperSigningCredential() .AddTem ...

  2. Spring AOP分析(1) -- 基本概念

    AOP全称是Aspect Oriented Programming,面向切面编程,是面向对象编程(OOP:Object Oriented Programming)的补充和完善.一般在系统中,OOP利用 ...

  3. $.grep()函数

    定义和用法 $.grep() 函数使用指定的函数过滤数组中的元素,并返回过滤后的数组. 提示:源数组不会受到影响,过滤结果只反映在返回的结果数组中. 语法 $.grep( array, functio ...

  4. Skylin CityBuilder 6.6.1 提示授权过期解决(License Manager中显示未过期)

    最近工作中使用到Skyline 系列软件,授权一切正常,启动CityBuilder时提示授权过期 运行License Manger之后查看授权状态 ' 一切正常,并没有出现授权过期等情况. 如何解决: ...

  5. [Intel Edison开发板] 06、Edison开发在linux中烧写、配置、搭建开发环境

    1.前言 linux上烧写.配置.搭建Edison环境,千万不要用默认的setup tool for ubuntu!!! (即使,你用的就是ubuntu) 因为,其默认的工具会从一个坏链接下载配置文件 ...

  6. oracle存储过程统计用户各表记录数

    declare v_tName varchar(50); v_sqlanalyze varchar(500); v_num number; v_sql varchar(500); cursor c1  ...

  7. 数据库连接(Oracle/sqlServer增、删、改、查)

    一.把数据库包导入项目中,并且Build path(oracle例如ojdbc6.jar;sqlServer例如sqljdbc.jar) 二.开始操作 1.普通连接: String className ...

  8. MVC 页面静态化

    最近工作需要,实现页面静态化,以前在ASP时代,都是FSO自己手动生成的. 新时代,MVC了,当然也要新技术,网上一搜,找到一种解决方案,是基于MVC3的,实现原理是通过mvc提供的过滤器扩展点实现页 ...

  9. 【Java框架型项目从入门到装逼】第二节 - Spring框架 AOP的丧心病狂解说,你喜欢露娜的月下无限连吗?

    继续上一节的内容,多几个jar包: aop技术是面向切面编程思想,作为OOP的延续思想添加到企业开发中,用于弥补OOP开发过程中的缺陷而提出的编程思想.AOP底层也是面向对象:只不过面向的不是普通的O ...

  10. 去除HTML选择——兼容IE、FireFox(document.onselectstart,样式)

    引之:http://taoistwar.iteye.com/blog/278963 今天做一个拖动效果,在网上找了个模板,作发后发现一拖动就会选择其它页面部分,需要去除这个效果, 找了个模板看了下发现 ...