
相信有过基础python岗位面试经验的同学,一定都会被问及过列表、字典和元组的相关知识。被问及最多的就是这三种数据结构中常用的API,或者现场直接给大家一些题目,通过这几种数据结构来coding实现,这些内容网络资源很多,这里就不一一介绍了。本文主要给大家讲解一下这三者的主要区别以及掌握他们的九个关键点!
列表
1.列表中可以存储不同类型的对象
L = [1,'a',1.234,[1,2,3],(4,5,6)]
print(L)
输出
[1, 'a', 1.234, [1, 2, 3], (4, 5, 6)]
2.列表是有序的队列,可以按照位置序号获取单个元素
L = [1,'a',1.234,[1,2,3],(4,5,6)]
print(L[3])
输出
[1, 2, 3]
3.列表无限制长度,这个就不多说了
元组
4.元组可以看作是不可变的列表,元组使用小括号 ( ),列表使用方括号 [ ]。
改变列表的值很容易
L1=[1,2,3]
L1[1]=10
print(L1)
输出
[1, 10, 3]
当我们试图改变元组中的值时
L2=('a','b','c')
L2[1]='x'
print(L2)
输出错误提示
L2[1]='x'
TypeError: 'tuple' object does not support item assignment
5.那么大家可能要问,为啥要设计元组呢?很简单,元组比列表占用的内存资源更小!
字典
6.字典是散列表,字典里的对象是无序的。
7.字典通过一对对键值来反映一种映射关系。
8.字典里每个键都是唯一的。
dic={'name':'kevin','age':40}
print(dic)
输出整个字典 {'name':'kevin','age':40}
print(dic['name'])
输出key为name的值: 'kevin'
print(dic.values())
输出字典所有值 ['kevin',40]
print(dic.keys())
输出字典所有的键 ['name','age']
9.大家可能又要问,为啥要设计字典呢?很简单,涉及大量数据处理时,字典的效率要远高于列表!
网友评论