python数据类型之list、tuple

list

list是Python内置的一种数据类型。list是一种有序的集合,可以随时添加和删除其中的元素。

 

list.append(x) —> 把一个元素添加到列表的结尾。

list.insert(i,x) —> 在制定位置i插入一个元素x

list.extend(seq) –> 把序列seq的内容添加到列表中。

list.remove(x) —> 删除列表中值为x的第一个元素。如果没有这样的元素,就会返回一个错误。

list.pop(i) —> 从列表的制定位置i删除元素,并将其返回。如果没有指定位置,默认删除并返回最后一个元素

list.index(x) —> 返回列表中第一个值为x的元素的索引。如果没有匹配的元素就会返回一个错误。

list.count(x) —> 返回x在列表中出现的次数。

list.sort(cmp=None, key=None, reverse=False) —> 对列表中的元素就地进行排序。

list.reverse(x) —> 就地倒排列表中的元素。

len(list) –> 返回list的长度

 

列表推导式

相当于:

列表推导式由包含一个表达式的括号组成,表达式后面跟一个for子句,之后可以有零或多个for或if子句。如:

 

循环技巧:

for i, v in enumerate(sequence) —> 循环索引位置和对应值。

for i, j in zip(sequence1, sequence2) —> 同时循环两个或更多的序列。

for i in reversed(sequence) —> 逆向循环序列。

 

tuple

另一种有序列表叫元组:tuple。tuple和list非常类似。 但是tuple一旦初始化就不能修改,它也没有append(),insert()这样的方法。

只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

 

References:

  1. http://www.pythondoc.com/pythontutorial27/datastructures.html#tut-tuples
  2. www.liaoxuefeng.com

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注