Python自学笔记 - 5.list和tuple
2017-09-02 11:34
393 查看
1.list是一种有序的集合
变量
list的索引从0开始
最后一个元素可以用-1索引,同理-2,-3等
追加元素到末尾用
指定位置插入元素
删除末位元素
删除指定位置元素用
替换指定位置元素,可以直接赋值
如果拆开写就更容易理解了:
要拿到
如果一个
2.tuple也是一种有序元素集合,但初始化之后不能修改
与list定义时的区别在于
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
tuple的陷阱:
但是,要定义一个只有1个元素的tuple,如果你这么定义:
定义的不是tuple,是
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。
多维数组实现可变tuple
实质上tuple并没有变化,只是其中的list元素[‘A’,’B’]发生了变化。
>>> classmates = ['Michael', 'Bob', 'Tracy'] >>> classmates ['Michael', 'Bob', 'Tracy']
变量
classmates就是一个
list。用
len()函数可以获得
list元素的个数:
>>> len(classmates) 3
list的索引从0开始
>>> classmates[0] 'Michael'
最后一个元素可以用-1索引,同理-2,-3等
>>> classmates[-1] 'Tracy'
追加元素到末尾用
.append()
>>> classmates.append('Adam') >>> classmates ['Michael', 'Bob', 'Tracy', 'Adam']
指定位置插入元素
.insert(1, 'Jack')
>>> classmates.insert(1, 'Jack') >>> classmates ['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
删除末位元素
pop()
>>> classmates.pop() 'Adam' >>> classmates ['Michael', 'Jack', 'Bob', 'Tracy']
删除指定位置元素用
pop(i)方法,其中
i是索引位置
>>> classmates.pop(1) 'Jack' >>> classmates ['Michael', 'Bob', 'Tracy']
替换指定位置元素,可以直接赋值
>>> classmates[1] = 'Sarah' >>> classmates ['Michael', 'Sarah', 'Tracy']
list元素也可以是另一个
list,比如:
>>> s = ['python', 'java', ['asp', 'php'], 'scheme'] >>> len(s) 4
如果拆开写就更容易理解了:
>>> p = ['asp', 'php'] >>> s = ['python', 'java', p, 'scheme']
要拿到
'php'可以写
p[1]或者
s[2][1],因此
s可以看成是一个二维数组,类似的还有三维、四维……数组,不过很少用到。
如果一个
list中一个元素也没有,就是一个空的
list,它的长度为0:
>>> L = [] >>> len(L) 0
2.tuple也是一种有序元素集合,但初始化之后不能修改
>>> classmates = ('Michael', 'Bob', 'Tracy')
与list定义时的区别在于
()和
[]。
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
tuple的陷阱:
但是,要定义一个只有1个元素的tuple,如果你这么定义:
>>> t = (1) >>> t 1
定义的不是tuple,是
1这个数!这是因为括号
()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
>>> t = (1,) >>> t (1,)
Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。
多维数组实现可变tuple
>>> t = ('a', 'b', ['A', 'B']) >>> t[2][0] = 'X' >>> t[2][1] = 'Y' >>> t ('a', 'b', ['X', 'Y'])
实质上tuple并没有变化,只是其中的list元素[‘A’,’B’]发生了变化。
相关文章推荐
- 【Python3自学笔记4】—Python内置的有序集合list和tuple
- 【python笔记】python中的list、tuple、set、dict用法简析
- Python笔记1——list,tuple,dict,set,不可变对象
- 初学Python的一些笔记----list、tuple等
- 01-python学习笔记:list和tuple
- Python 学习笔记(二):List and Tuple
- Python3学习笔记【基础3--list,tuple,if条件判断,for/while循环,dict字典,set集合】
- Python学习笔记(五)——list和tuple
- 【python学习笔记】6.list和tuple的操作
- 【Python自学】05. list和 tuple
- 【python学习笔记】6.list和tuple的操作
- 【Python】学习笔记——-2.3、使用List和Tuple
- 【python笔记】python中的list、tuple、set、dict用法简析
- Python 学习笔记 - 6.List和Tuple
- python学习笔记使用list和tuple
- Python学习笔记(二)—列表(list)和数组(tuple)类型
- Python开发学习笔记(9) - list,tuple,string切片
- python学习笔记——列表(list)和元组(tuple)
- Python学习笔记—使用list和tuple
- 从0开始自学Python:4、List和Tuple