元组和列表的区别

1、声明的时候,元组使用小括号,列表使用方括号。
需要注意的是,当元组只有一个元素时,需要在元素的后面加一个英文逗号分隔符,以防止与表达式中的小括号混淆,这是因为小括号既可以表示元组,又可以表示表达式中的优先级运算符,这就容易产生歧义。
2、元组和列表都属于序列,列表属于可变序列,它的元素可以随时修改或者删除,而元组属于不可变序列,其中的元素是不能修改的,除非整体重新赋值
3、元组比列表的访问和处理速度更快,所以如果只需要对其中的元素进行访问,而不进行任何修改,建议使用元组
原因是,列表是动态数组,可变且可以重新设置长度,元组是静态数组,其内部的数据一旦创建便无法改变,其缓存于python运行时环境,我们每次使用元组时无须访问内核去分配内存
4、元组可以作为字典的键,但是列表不能作为字典的键使用

>>> d={(1,2):"one"}
>>> 
>>> d[(1,2)]
'one'
>>> 
>>> d={[1,2]:"one"}
Traceback (most recent call last):
  File "", line 1, in 
TypeError: unhashable type: 'list'

你可能感兴趣的:(元组和列表的区别)