首页 > 代码库 > python的list、tuple、dict、set的对比

python的list、tuple、dict、set的对比


listtupledictset
特点有序、查找速度随着元素增加而逐渐下有序\不能修改无序、查找速度快、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‘] = 72s.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的对比