《Python学习手册》(四)

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

  • 字典大小比较无效

原文地址:https://www.cnblogs.com/Christen/p/5196167.html