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