1 list是一种Python的数据类型–列表
list是一种有序的集合,可以进行增删改查
1 2 3
| >>>name=[aa,bb,cc] >>>name ['aa','bb','cc']
|
查看name的元素个数
通过索引查找list中的元素
1 2 3 4 5 6
| >>>name[0] aa >>>name[1] bb >>>name[-1]
|
超过元素的个数会越界,不管是正向还是反向都不能越界
len(name)-1
list是一个有序的表,在list末尾追加:
1 2 3
| >>>name.append('dd') >>>name ['aa','bb','cc','dd']
|
在指定索引位置添加(插入)元素insert():
1 2 3
| >>>name.insert(1,'hh') >>>name ['hh','aa','bb','cc','dd']
|
删除末尾元素pop():
删除指定位置:
1 2
| name.pop(1) name.pop(-1)
|
或者
删除元素名:
替换某个元素,直接赋值给对应的索引位置:
或者
1
| name[name.index('aa')] = 'haha'
|
统计list中某个元素的数量:
list中的数据类型可以不同:
1 2 3
| >>> all = ['hello',123,True] >>> all ['hello', 123, True]
|
list中可以有另外一个list:
1 2 3 4 5
| >>> L = ['aa','bb','cc',['dd','ee']] >>> L ['aa', 'bb', 'cc', ['dd', 'ee']] >>> len(L) 4
|
数组中还有数组,想要获得‘hh’,name[2][1]是一个二维数组
1 2 3 4
| >>> name = ['aa','bb',['ff','hh'],'cc'] >>> p=['ff','hh'] >>> name[2][1] 'hh'
|
空的list长度是0
2 tuple元组
tuple初始化后不能修改
1 2 3
| >>>name=('a','b','c') name[1] 'b'
|
tuple没有append、insert、不能赋值
可以正常索引,注意,这里还是用[]进行索引
不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
定义空的tuple
1 2 3 4 5
| >>> L=() >>> len(L) 0 >>> L ()
|
定义一个tuple
1 2 3 4 5 6
| >>> t=(1) >>> t 1 >>> print(type(t)) <class 'int'>
|
这样并不是一个tuple,()可以表示数学公式中的小括号,这样计算的是数字1,为了避免歧义,在括号中用逗号
1 2 3 4 5 6
| >>> t=(1,) >>> t (1,) >>> print(type(t)) <class 'tuple'>
|
Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号
” 可变的 tuple “
1 2 3 4 5
| >>> t=('a','b',['c','d']) >>> t[2][0] = 'X' >>> t[2][1] = 'Y' >>> t ('a', 'b', ['X', 'Y'])
|
这里定义的tuple有两个字符串,和一个list,所谓的tuple不变指的是tuple每个元素的指向是不变的,但是list本身是可以改变的
练习:
1 2 3 4 5 6 7 8 9 10
| L = [ ['Apple', 'Google', 'Microsoft'], ['Java', 'Python', 'Ruby', 'PHP'], ['Adam', 'Bart', 'Lisa'] ] >>>print(L[0][0]) ’Apple' >>>print(L[1][0]) ’Java'
|
二维数组中取相应的数