一、元组

python中的元组和列表非常类似,核心区别是元组的内容初始化后是不可以修改的,而队列可以。

关于列表的详细介绍,可查看上一篇列表使用文章。

大部分场景下,能用元组的地方,都可以用列表。但有的场景,比如map的key值就不能用列表,只能用元组。

可以理解,元组是一个不可变列表。所以字符串应该算元组。

因此针对列表的一些操作方法,只要不涉及修改的,都可以用到对元组的操作上。

元组的声明和初始化和列表有些不同,它是用 ()括起来的,而列表是用 []括起来的。

如:

mytuple=()  #定义了一个空的元组
 mytuple=(1,2,'hello')  #定义了一个元组,并设置了3个元素

可以通过内置函数tuple将列表转为元组,如

>>> list =[1,2,3]
>>> tuple=tuple(list)
>>> print tuple
(1, 2, 3)

也可以通过内置函数list将元组转为列表,如

>>> str="hello"
>>> mylist=list(str)
>>> print mylist
['h', 'e', 'l', 'l', 'o']
>>> mytuple=(3,4,5)
>>> mylist=list(mytuple)
>>> print mylist
[3, 4, 5]
>>> mylist.pop()
5
>>> print mylist
[3, 4]
>>> print tuple
(3, 4, 5)

需要提醒的是,因为list和tuple是python内置的函数名,所以尽量不要用这两个标识符定义变量名。

 

二、字符串与列表

从上面的例子也可以看出,字符串就是一个由字符组成的不可变序列,即元组。可以按照队列的方式来操作。但注意字符串时只读的,不能修改它。

所以相关不涉及到修改其内容的操作允许,如 str[0] 获取第一个字符,也可用for循环遍历字符串中每个字符,也支持分片操作。

但涉及到修改其内容的操作就不允许,如pop方法