列表(List)类型
- List (列表)是Python中使用最频繁的数据类型。
- 列表可以完成大多数集合类的数据结构实现,它支持字符,数字,字符串甚至可以包含列表(及嵌套)
- 列表用“[]”标识,是python最通用复合数据类型。
如何创建列表?
语法:列表对象名称 = [元素1,元素2,…,元素N]
如何访问列表? - 列表中值的切割也可以用到变量[头下标:尾下标],就可以截取相应的列表。
- 从左到右下标索引默认 0 开始,从右到左下标索引默认 -1 开始,下标可以为空表示取到头或尾。
- 加号(+)是列表连接运算符。
- 星号(*)是列表重复操作。
代码演示
list_1 = ['student', 1, 3, 4, 4.55]
list_2 = ['teacher', 2, 3.45]
#输入
print(list_1) #输出完整的列表数据 ['student', 1, 3, 4, 4.55]
print(list_1[0]) #输出列表的第一个元素 student
print(list_1[1:4]) #输出列表第二个元素到第四个元素 [1, 3, 4]
print(list_1[2:]) #输出列表第三个元素至列表尾元素 [3, 4, 4.55]
print(list_1 * 2) #重复输出两次列表 ['student', 1, 3, 4, 4.55, 'student', 1, 3, 4, 4.55]
print(list_1 + list_2) #输出组合列表元素 ['student', 1, 3, 4, 4.55, 'teacher', 2, 3.45]
注意:切割时下标也是左闭右开的
元组(Tuple)类型
- Tuple(元组)类似与List(列表)
- 元组不能二次赋值 (元组内的元素不允许更新),相当于只读列表。
- 元组用“ ( ) "标识。内部元素用逗号隔开。
如何创建元组
语法:元组对象名称 = (元素1,元素2,…元素N)
如何访问元组
- 元组中值的切割也可以用到变量 [头下标 : 尾下标] ,就可以截取相应的元组。
- 从左到右下标索引默认 0 开始,从右到左下标索引默认 -1 开始,下标可以为空表示取到头或尾。
- 加号(+)是元组连接运算符。
- 星号(*)是元组重复操作。
代码演示
tuple_1 = ('student', 1, 3, 4, 4.55)
tuple_2 = ('teacher', 2, 3.45)
#输入
print(tuple_1) #输出完整元组的数据 ('student', 1, 3, 4, 4.55)
print(tuple_1[0]) #输出元组的第一个元素 student
print(tuple_1[1:4]) #输出元组第二个元素到第四个元素 (1, 3, 4)
print(tuple_1[2:]) #输出元组第三个元素至列表尾元素 (3, 4, 4.55)
print(tuple_1 * 2) #重复输出两次元组 ('student', 1, 3, 4, 4.55, 'student', 1, 3, 4, 4.55)
print(tuple_1 + tuple_2) #输出组合元组元素 ('student', 1, 3, 4, 4.55, 'teacher', 2, 3.45)
字典(Dictionary)类型
- 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。
- 字典当中的元素是通过键来存取的,而不是通过偏移存取。
- 字典用“{ }”标识。字典由索引(key)和它对应的值value组成,是一个典型的“k-v值 ”数据结构。
如何创建字典?
- 字典对象名字 = {}
- 字典对象名称 ={key1 : value1,key2:value2 … keyN:valueN}
字典(Dictionary)k-v 值在内存中的表现形式
- k-v结构一般情况下在操作访问的时候都会使用key索引进行每个元素的读取操作。
- 由于key索引键会被频繁访问,因此索引键key存放在Stack栈内存中,而value值则存储在Heap堆内存中。
内存表现形式
如何访问字典
语法:
- 字典对象名称[ key ] #访问key对应的value值。
- 字典对象名称.keys #访问当前字典所有key索引键。
- 字典对象名称.values #访问当前字典所有valeus值
代码演示
mDict = {}
mDict['name'] = 'student'
mDict[1] = "lll"
mDict1 = {'name': 'xiaotian', 'age': 22, 'email':'1234562@163.com'}
print(mDict['name']) #输出索引键name的值 student
print(mDict[1]) #输出索引键1的值 lll
print(mDict1) #输出完整字典 {'name': 'xiaotian', 'age': 22, 'email': '1234562@163.com'}
print(mDict1.keys()) #输出所有索引键 dict_keys(['name', 'age', 'email'])
print(mDict1.values()) #输出所有的值 dict_values(['xiaotian', 22, '1234562@163.com'])
列表(List)、元组(Tuple)和 字典(Dictionary)的异同点:
从承载数据类型的结构角度看:Python的数据类型分为数字类型和非数字类型。
- 数字类型包括:整型、长整型、浮点型和复数型。
- 非数字类型包括:字符串、列表、元组和字典。
共同点:
- 都可以使用切片、链接(+)、重复(*)、取值(a[ ])等相关运算。
- 截取方式相同:名称[头下标:尾下标]
- 下标是从0开始算起,可以是正数或者负数,下标为空则表示取到头或者尾
- 开始截取时,包含了下边界,而截取到最大范围不包括上边界。
不同点:
- 列表 可以直接赋值
- 元组不可以赋值
- 字典按照 dict[k]=v 的方式赋值