3.python元组与列表
Posted 专注于liunx自动化运维,linux系统架构,python
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.python元组与列表相关的知识,希望对你有一定的参考价值。
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元组与列表的主要内容,如果未能解决你的问题,请参考以下文章