Python学习笔记__1.3章 list和tuple

这是学习廖雪峰老师python教程的学习笔记

1、概述

列表是Python内置的一种数据类型。有两种:list和tuple。

列表和数组很像。

 

2listtuple

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的每个元素,指向永远不变。

Python学习笔记__1.3章 list和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])