# 这是学习廖雪峰老师python教程的学习笔记
1、概述
列表是Python内置的一种数据类型。有两种:list和tuple。
列表和数组很像。
2、list和tuple
1、list
list是一种有序的集合,可以随时添加和删除其中的元素。里面的数据类型可以不同。并且,还可看为一个二维数组,三维,四维…数组
1)创建
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
2)检索
索引也是从0开始的。但除了正着取,还能倒着取。但如果越界就会报错
用-1做索引,直接获取最后一个元素。依次类推-2,-3
>>> classmates[0]
'Michael'
3)追加(append)与插入(insert)
>>> classmates.append('Adam')
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
4)删除末尾与删除指定(pop)
>>> classmates.pop()
'Adam'
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']
5)替换
>>> classmates[1] = 'Sarah'
6)list里可以嵌套list
>>>s = ['python', 'java', ['asp', 'php'], 'scheme']
2、tuple
tuple和list非常类似,但是tuple一旦初始化就不能修改
>>> classmates = ('Michael', 'Bob', 'Tracy')
现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。
1)定义一个空的tuple
>>> t = ()
>>> t
()
2)定义一个只有1个元素的tuple
加逗号,消除歧义。如果是(1),()会被认为是数学中的小括号,就成定义变量了。
>>> t = (1,)
>>> t
(1,)
3)“可变的”tuple
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
这个tuple定义的时候有3个元素,分别是'a','b'和一个list。对比两图,变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。
3、例题
已知
L = [['Apple', 'Google', 'Microsoft'],['Java', 'Python', 'Ruby', 'PHP'],['Adam', 'Bart', 'Lisa']]
# 打印Apple:
print(L[0][0])
# 打印Python:
print(L[1][1])
# 打印Lisa:
print(L[2][2])