在python编程当中,list 和 tuple,dict和set都是比较相似的两种数据结构。在编程的过程中,经常容易把这两种数据结构的一些方法给弄混了。为了在以后少出现一些混淆,因此我把这几种数据结构的调用方法作了一个比较,以方便记忆(以下的对比是基于python2.7)。
1, List 和 tuple 的区别
初始化:list=[] tuple=()#初始化后,整个tuple里元素的指向不可改变
索引:list[k] tuple[k]
追加:list.append() tuple 不可追加,tuple大小不可再改变
输出/删除:list.pop(), list.pop(k) 无
插入:list.insert(k,value) 无
切片:list[start:stop:step] tuple[start:stop:step]
修改:list[k]=new_value tuple 的元素不可重新赋值
排序:list.sort()#修改原list,无返回 sorted(tuple)没有tuple.sort()
sorted(list)#返回一个新list
2 dict和set的区别
初始化:dict={} ; set=([iterable])
索引:dict[key] ; set不支持索引
添加:dict[newkey]=newvalue ; set.add(key)
输出(删除):dict.pop(key) ; set.remove(key)
dict和set当中都没有重复的key值,且key值必须是不可改变的对象
其他关于set的函数: a和set类型,b是可遍历类型。a.union(b), a.difference(b), a.intersection(b), a.symmetric_difference(b), a.pop(value). &(intersection), |(union), -(difference) 这三个操作符只适用于两个sets之间。
网友评论