Python里的元组、列表和字典这3中数据类型都有哪些区别

List 数据类型

列表包含用逗号分隔并括在方括号[]中的项,列表与c语言中的数组非常相似,一个不同之处在于:列表的所有项可以是不同的数据类型,而C语言中数组只能是同一种数据类型

 list = [123,'abcd',10.2,'d']
 可以是任何数据类型或单个数据类型的列表
 print(list)
 输出 [123,'abcd',10.2,'d']

 print(list[0:2])
 输出前2个列表项 [123,'abcd']

 list1 = ['hello','world']
 print(list1 * 2)
 将会出现2次 ['hello','world','hello','world']

 print(list + list1)
 这两个列表用“+”号将会被连接
 输出:[123,'abcd',10.2,'d','hello','world']

Dictionary 数据类型

字典由键值对组成(类似于java中的HashMap),它由大括号{}包围,可以使用方括号[]通过key访问值或者赋值

 dic={'name':'red','age':10}
 print(dic)
 会输出整个字典 {'name':'red','age':10}

 print(dic['name'])
 输出key为name的值: 'red'

 print(dic.values())
 输出字典所有值 ['red',10]

 print(dic.keys())
 输出字典所有的键 ['name','age']

Tuple 数据类型

列表被括在括号[]中,它们的元素可以更改,列表长度也可以被更改。

而元组被括在括号()中,它们的元素不可以更改,元组是完全不可变的。

 tuple = (123,'hello')
 tuple1 = ('world')
 print(tuple)
 将输出整个元组: (123,'hello')

 print(tuple[0])
 将输出元组中第一个值 . (123)

 print(tuple + tuple1)
 会输出: (123,'hello','world'),注意这里并没有去改变他们各自的值

 tuple[1]='update'
 这里会报错,因为你尝试更改它的值

结论

1、元组是不可变的,而列表、字典是可变的

​ 元组是不可变对象,对象一旦生成,它的值将不能更改;列表是可变对象,对象生成后,可以对其元素进行更改、添加、删除、清空、排序等操作。

2、元组通常是由不同的数据组成,而列表是相同的数据队列

​ 元组表示的是结构,而列表表示的是顺序。列表的权限远大于元组。

3、列表不能作为字典的key值,而元组可以。字典的键是唯一的。