Python入门 List和Tuple类型
List
Python内置的一种数据类型是列表:
list。list是一种有序的集合,可以随时添加和删除其中的元素。
append()总是把新的元素添加到 list 的尾部。
L.insert(0, 'Paul') 的意思是,'Paul'将被添加到索引为 0 的位置上(也就是第一个),而原来索引为 0 的Adam同学,以及后面的所有同学,都自动向后移动一位。
pop()方法总是删掉list的最后一个元素,并且它还返回这个元素.如果要删除指定位置的元素。则用:pop(index)
对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。
List 的最后一个元素可用list[-1]获取或赋值。同样的,倒数第二个,倒数第三个可分别用下标-2,-3.
Tuple
tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了
创建tuple和创建list唯一不同之处是用
( )替代了
[ ]。
>>> t = ('Adam', 'Lisa', 'Bart')
创建包含1个元素的 tuple 呢?来试试:
>>> t = (1) >>> print t 1
好像哪里不对!t 不是 tuple ,而是整数1。为什么呢?
因为
()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。
正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:
>>> t = (1,) >>> print t (1,)
Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。
“可变”的tuple
前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple:
>>> t = ('a', 'b', ['A', 'B'])
注意到 t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:
>>> L = t[2]
然后,我们把list的两个元素改一改:
>>> L[0] = 'X' >>> L[1] = 'Y'
再看看tuple的内容:
>>> print t ('a', 'b', ['X', 'Y'])
不是说tuple一旦定义后就不可变了吗?怎么现在又变了?
别急,我们先看看定义的时候tuple包含的3个元素:
当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:
表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
如果要想使t = ('a', 'b', ['A', 'B']),变成不可变的,可以改成:t=('a','b',('A','B'))
- 廖雪峰老师——Python入门( List和Tuple类型 )
- Python入门(二):List和Tuple类型
- Python基础入门之List和Tuple类型三
- Python之List和Tuple类型(入门3)
- Python基础入门之List和Tuple类型一
- Python基础入门之List和Tuple类型二
- Python中List和Tuple类型
- 【Python】python的主要数据类型list和tuple
- Python学习入门基础教程(learning Python)--6 Python下的list数据类型
- Python(可变/不可变类型,list,tuple,dict,set)
- Python中内置数据类型list,tuple,dict,set的区别和用法
- python基本数据类型list,tuple,set,dict用法以及遍历方法
- Python中内置数据类型list,tuple,dict,set的区别和用法
- Python 学习之list和Tuple类型
- PYTHON内置数据类型( list ,tuple ,dict,set)
- python 序列类型以及list(列表) 和 tuple(元组)详解 以及range的用法
- Python(可变/不可变类型,list,tuple,dict,set)
- python教程19--《python基本数据类型list、tuple、dict、linecache读取file内容大综合运用》
- Python基础学习--第三篇(List和Tuple类型)
- Python:入门笔记之list slices计算方法、匿名表达式、CGI、数据类型及应用领域