首页 > 代码库 > python的list、tuple、dict、set的对比
python的list、tuple、dict、set的对比
list | tuple | dict | set | |
特点 | 有序、查找速度随着元素增加而逐渐下 | 有序\不能修改 | 无序、查找速度快、key不能重复 | 元素没有重复、无序、判断一个元素是否在set中速度很快 |
创建 | L =[‘Michael‘, ‘Bob‘, ‘Tracy‘] | t = (‘Adam‘, ‘Lisa‘, ‘Bart‘) t = (1,) t = (‘a‘, ‘b‘, [‘A‘, ‘B‘]) | d = { ‘Adam‘: 95, ‘Lisa‘: 85, ‘Bart‘: 59 } | s = set([‘A‘, ‘B‘, ‘C‘]) |
访问 | L[0]、L[-1] | t[0]、t[-1] | 通过key访问 if ‘Paul‘ in d: print d[‘Paul‘] 或 d.get(‘Paul‘) | x = ‘???‘ # 用户输入的字符串 if x in weekdays: print ‘input ok‘ else: print ‘input error‘ |
添加元素 | 尾部添加L.append(‘Paul‘) 插入指定索引位置L.insert(0, ‘Paul‘) | 无 | d[‘Paul‘] = 72 | s.add(4) |
删除元素 | 删除最后一个元素并且返回L.pop() 删除指定索引的元素L.pop(2) | 无 | s.remove(4) | |
替换元素 | L[2] = ‘Paul‘ L[-1] = ‘Paul‘ | 无 | ||
空的 | t = () | |||
元素个数 | len(d) | |||
遍历 | for key in d: ... print key | for name in s: ... print name | ||
切片 | 取前3个元素L[0:3]从索引0开始取,直到索引3为止,但不包括索引3; 若第一个索引是0,可以省略不写L[:3]; 第三个参数表示每N个取一个,上L[::2] | |||
迭代 | L = [‘Adam‘, ‘Lisa‘, ‘Bart‘, ‘Paul‘] >>> for index, name in enumerate(L): ... print index, ‘-‘, name | d = { ‘Adam‘: 95, ‘Lisa‘: 85, ‘Bart‘: 59 } print d.values() # [85, 95, 59] for v in d.values(): print v # 85 # 95 # 59 或 d = { ‘Adam‘: 95, ‘Lisa‘: 85, ‘Bart‘: 59 } print d.itervalues() # <dictionary-valueiterator object at 0x106adbb50> for v in d.itervalues(): print v # 85 # 95 # 59 或for key, value in d.items(): ... print key, ‘:‘, value ... Lisa : 85 Adam : 95 Bart : 59 |
本文出自 “不进步就是退步” 博客,请务必保留此出处http://janetria.blog.51cto.com/10509492/1913237
python的list、tuple、dict、set的对比
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。