列表 元组 字典 集合的区别是python面试中最常见的一个问题。这个问题虽然很基础,但确实能反映出面试者的基础水平。
(1)列表
什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单。比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单。由于我们买一种东西可能不止一次,所以清单中是允许有重复项的。如果我们扩大清单的范围,统计我们过去一周所有的花费情况,那么这也是一个清单,但这个清单里会有类别不同的项,比如我们买东西是一种花费,交水电费也是一种花费,这些项的类型是可以使不同的。python的列表个跟清单的道理是一样的,特点就是:可重复,类型可不同。类型不同也是跟数组最本质的区别了。python里的列表用“[]”表示:
lst = ['arwen',123]
print lst[0]
print lst[1]
lst[0] = 'weiwen'
向list中添加项有两种方法:append和extend。append是向
如:
(2)元组
元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用“()”表示,如:
tup = ('arwen',123)
print tup[0]
print tup[1]
(3)集合就是我们数学学的集合,没有什么特殊的定义。集合最好的应用是去重。集合没有特殊的表示方法,而是通过一个set函数转换成集合,如:
lst = [ 1, 1, 0]
lst_set = set( lst ) #lst_set 为1 , 0
tup = (2, 2, 1)
tup_set = set( tup) # tup_set为2 , 1
for item in lst_set:
print item
(4)最后一个是字典。字典存储键值对数据,如:
1:a,2:b,3:c
字典最外面用大括号,每一组用冒号连起来,然后各组用逗号隔开。
字典最大的价值是查询,通过键,查找值。