List and Dictionary
列表:
- 任意对象的有序集合
- 通过偏移读取
- 可变、异构、任意嵌套
常用方法:
L.append(object)
L.extend(iterable)
L.insert(index, object)
L.index(value, [start, [stop]]) # return first index of value
L.count(value)
L.sort()
L.reserve()
del L[k]
del L[i:j] # delete from L[i] to L[j-1]
L.pop() # return the last and L is changed
L.remove() # remove first occurrence of value, no return
L[i] = 1
L[i:j] = []
about map: http://my.oschina.net/zyzzy/blog/115096
python内置函数:
sorted(L, key = str.lower, reverse = True)
sorted([x.lower() for x in L], reverse = True)
list(reversed(L))
字典:
D.keys()
D.values()
D.items()
D = dict.fromkeys( seq[,value] )
D = dict( zip(keylist, valslist) )
D = dict(name = 'Bob', age = 42)
D.get(key, default)
D.update(D2) # combination
D.pop(key) # delete, return its value
del D [key] # delete, no return
in python3.0
list(D.keys())
list(D.values())
list(D.items())
D1.keys() & D2.keys()
D = {x: x*2 for x in range(10)}
D = {k:v for (k, v) in zip(['a', 'b', 'c'], [1, 2, 3])}
dict.fromkeys( seq[, value] )
dict( zip(keylist, valslist) )
get(key, default)
字典用于稀疏数据结构
in python3.0
字典视图:
字典视图可以动态地反映在视图对象创建之后对字典做出的修改。
D = {.....}
K = D.keys()
del D['.']
list(K) # 结果是修改过的字典与集合:
keys方法返回的视图对象类似于集合,并支持交集并集等操作;values视图不;若(key,value)对是唯一且可散列(只包含不可变对象)的,items也是。
K = D.keys()
K | {'x': 4} ########## 返回健值的并集
K & {'b', 'c'}
V = D.values()
V & {'x':4} ########## TypeError
V & {'x':4}.values() #### TypeError排序字典键:
由于keys不会返回一个列表,要排序字典编码:
1、手动转列表;2、调用sorted字典大小比较无效