目录
目录
一、python之list
list是Python内置的一种数据类型是列表。list是一种有序的集合,可以随时添加和删除其中的元素。
现有一个表示字母的列表list L=['a','b','c']:
1. list元素插入
1.1 向list L中添加一个新元素‘d’:L.append('d')
1.2 向list L中插入添加一个新元素‘d’,使之成为第二个元素:L.insert(1,'d')
2. list元素删除
2.1 删除list L的最后一个元素:L.pop()
注意:pop()方法总是删掉list的最后一个元素,并且它还返回这个元素,所以我们执行 L.pop() 后,会打印出 'c'。
2.2 指定删除list L的第2个元素:L.pop(1)
3. list元素替换
3.1 将list L的第一个元素替换为‘Paul’:L[0]=‘’Paul
二、python之tuple
1. 不可变的touple
tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。还是用一组包含字母的列表,用tuple表示如下:t=('a','b','c'),只能从tuple中读取数据,touple(0),touple(1)...
包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:
>>> t = ()
>>> print t
()
特别需要注意的是,当创建单元素touble时,需要在元素值后加个逗号,以表示这是一个touble。如果不加逗号,会出现如下情形:
>>>t=(1)
>>>print t
1
因为()
既可以表示tuple,又可以作为括号表示运算时的优先级,当单元素touple没有在元素后加逗号时, (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。
正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:
>>>t=(1,)
>>>print t
(1,)
2. Python之“可变”的tuple
前面说到了touple一旦创建就不可更改,那现在怎么又可以更改了呢?别急,给大家举个例子就明白了,下面就是一个“可变”的touple:
t=('a',''b,['A','B'])
可以看出来这个t有3个元素,分别是元素a,元素b和一个list,list值为['A','B']。这个list我们用L表示,由于L是touple的第三个元素,所以:
>>>L=t(2)
接下来,我们给list的两个元素值改一改:
>>>L[0]='X'
>>>L[1]='Y'
再查看一下touple的值:
>>>print t
>>>('a','b',['X','Y'])
确实变了,为什么会出现这种情况,首先我们回过头来分析一下touple元素:touple一共包含3个元素,第一个和第二个都是定值,但是第三个元素是一个list,通过前面的了解,我们知道list的值是可变的,当list的值变了之后,touple值自然也变啦。
当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:
所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。