1.list和tuple

list的使用

声明list变量

classmates = ['Bob', 'Michael', 'Tracy']

获取list元素个数len()

len(classmates)   ---   3

访问list每一个位置的元素,索引位置从0开始

classmates[0]   ---   'Bob'

访问list倒数第几个位置的元素

classmates[-1]   ---   'Tracy'
classmates[-2]   ---   'Michael'
classmates[-3]   ---   'Bob'

追加元素append(_)

classmates.append('Adam')
classmates   ---   ['Bob', 'Michael', 'Tracy', 'Adam']

插入元素到指定位置insert(n, _)

classmates.insert(1, 'Jack')
classmates   ---   ['Bob', 'Jack', 'Michael', 'Tracy', 'Adam']

删除末尾元素pop()

classmates.pop()
classmates   ---   ['Bob', 'Jack', 'Michael', 'Tracy']

删除指定位置元素pop(n)

classmates.pop(1)
classmates   ---   ['Bob', 'Michael', 'Tracy']

替换某位置的元素

classmates[1] = 'Sarah'
classmates   ---   ['Bob', 'Sarah', 'Tracy']

list元素类型可不同

t = ['Bob', 18, True, ['asp', 'php']]
# 要想得到list中php这个数据,可以写成
p = t[4][1]   ---   'php'

tuple的使用

tuple和list非常类似,但是tuple一旦初始化就不能修改,通常我们称之为元组。

声明tuple变量

classmates = ('Michael', 'Bob', 'Tracy')

它没有append()insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0]classmates[-1],但不能赋值成另外的元素。

定义一个空的tuple

t = ()

定义一个只有1个元素的tuple

t = (1, )
t   ---   (1, )

注意:这里没有写错,当写为t = (1)时,定义的不是tuple变量,而是1这个数字。这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义。此外,Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。

“可变的”tuple

t = ('a', 'b', ['A', 'B'])
t[2][0] = 'X'
t[2][1] = 'Y'
t   ---   ('a', 'b', ['X', 'Y'])

表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

你可能感兴趣的:(1.list和tuple)