Python中的list、tuple、dict和set总结

其他关于Python的总结文章请访问:https://www.jianshu.com/nb/47435944

Python中的list、tuple、dict和set

List

list是一种有序集合,可以随时添加或者删除其中的元素,使用中括号中的逗号隔开的元素表示,list中的元素数据类型可以不同,甚至是另外一个list

  • 使用 ListName 后跟 [n] 的索引访问,索引从0开始表示第一个元素,-1表示倒数第一个元素,-2表示导数第二个元素
  • len(listName) 返回list中的元素个数
  • listName.append(newElement) 向list中新增元素到list的末尾
  • listName.insert(n,newElement) 向list中新增元素到list的第n-1位,即n所在索引处
  • listName.pop(n) 从list中删除索引为n的元素并返回,传入空参数则删除list末尾元素

Tuple

tuple是不可变的list,一经初始化不能再改变,只能访问,使用小括号中的逗号隔开的元素表示

  • 定义空tuple可以写成 t=()
  • 定义包含1个元素的tuple需要写成 t=(elememt,),从而和单独的element分开

Dict

字典,全称dictionary,同其他语言中的map,是键值对的形式存储信息的。使用大括号中的逗号隔开的键值对表示,键值对写成 'key':value 的形式,key是不能重复的。

  • 使用dictName['key']访问该键对应的值
  • 使用dictName['key']=value的方式为键为key的位置赋值,如果没有该键就新增键值对
  • 使用 'key' in dictName 判断 key 是否在dictName
  • 使用 get() 方法判断
    • dictName.get('key') 如果有key则返回该值,否则返回None
    • dictName.get('key',givenValue) 如果有key则返回该值,否则返回givenValue
  • 使用 dictName.pop('key') 删除key与去对应的值

Dict与List的比较

  • Dict的特点
    • 查找和插入的速度极快,不会随着key的增加而变慢
    • 需要占用大量的内存,内存浪费多
  • List的特点
    • 查找和插入的时间随着元素的增加而增加
    • 占用空间小,浪费内存很少

Dict是用空间来换取时间的一种方法,基于哈希算法

Set

set存放的是一组不重复无序元素,创建set时需要传入一个list,set会自动过滤list中的重复元素

s=set([1,2,2,3,3,3]) 
# s={1,2,3} 
  • 使用setName.add(element),可以增添新的元素
  • 使用setName.remove(element),可以删除该元素

set可以看成数学意义上的无序无重复元素的集合,因此可以做交集 & 、并集 | 等运算

s1=set([1,2,3]) 
s2=set([2,3,4]) 
s1 & s2 
# {2,3} 
s1 | s2 
# {1,2,3,4} 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。