可能略去了一些内容。
1、列表VS元组
在python编程中,我们经常搞不懂列表和元组的区别,或者哪些函数可以用于列表,哪些用于元组,那么跟随本文我们来深入的探索。
2、元组
元组是值的集合,我们用圆括号来申明它。元组中的类型可以不一样。
>>> numbers=(1,2,"three")
>>> numbers=4,5,6
>>> a,b,c=numbers
>>> print(numbers,a,b,c,type(numbers))
(4, 5, 6) 4 5 6
为了获得一个元组的值,我们可以使用索引。
>>> numbers[1]
5
我们也可以使用切片来获取它的一部分,表示从0到2即(-1)
>>> numbers[:-1]
(4, 5)
我们可以删除一个完整的元组,但不能删除其中元素。
>>> del numbers
>>> numbers
Traceback (most recent call last):
File “”, line 1, in
numbers
NameError: name ‘numbers’ is not defined
3、列表
列表可以实现上述元组的功能
4、不同之处-----可变性
a、列表是可变的
对容器的改变操作一般有再赋值,删除
>>> list1=[0,1,2,3,4,5,6,7]
我们分别对列表进行再赋值,删除单个元素,删除切片,再赋值一段切片,删除容器的操作
>>> list1[1]=3
>>> list1
[0, 3, 2, 3, 4, 5, 6, 7]
>>> del list1[1]
>>> list1
[7, 5, 4, 3, 2, 1, 0]
>>> del list1[3:]
>>> list1
[7, 5, 4]
>>> nums=[1,2,3,4,5]
>>> nums[1:3]=[6,7,8]
>>> nums
[1, 6, 7, 8, 4, 5]
>>> del list1
>>> list1
Traceback (most recent call last):
File “”, line 1, in
list1
NameError: name ‘list1’ is not defined
全部可以。
b、元组是不可变的
元组不能改变它的元素值,但是可以整个删除,或者重新整个赋值。
5、函数
len(), max(), min(), sum(), any(), all(), sorted()这些函数都可以用在两者上。
6、方法
index() and count()两者共享
append(), insert(), remove(), pop(), clear(), sort(), and reverse()只能用于列表。
7、何时使用两者
当您知道容器中的信息是什么时,请使用元组。
例如,当您想要为您的网站存储个人信息时。
>>> person=('ABC','admin','12345')
但是如果你想存储类似的元素,请用列表
>>> groceries=['bread','butter','cheese']
请注意,这并不表示列表只能包含同类值。
此外,您不能使用列表作为字典的键。这是因为只能对不可变值进行hash。因此,我们只能将像元组这样的不可变值设置为键。但是,如果您仍想使用列表作为键,则必须先将其转换为元组。