博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python Dict笔记
阅读量:7005 次
发布时间:2019-06-27

本文共 2210 字,大约阅读时间需要 7 分钟。

1 初始化

>>> d = dict(name='visaya', age=20)>>> d = dict(zip(['name', 'age'], ['visaya', 20]))#dict.fromkeys(listkeys, default=0) 把listkeys中的元素作为key均赋值为value,默认为0>>> d = dict.fromkeys(['a', 'b'], 1)>>> d{'a': 1, 'b': 1}

2 字典视图和几何

dict.keys()类似信使可以进行交集和并集等集合操作(类似集合,因为不存在重复的项),但dict.values()不可以进行如上操作。>>> k = d.keys()>>> kdict_keys(['a', 'b'])>>> list(k)['a', 'b']>>> k | {'x': 3}{'a', 'x', 'b'}>>> k | {'x'}{'a', 'x', 'b'}>>> k | {'x', 'y'}{'a', 'y', 'b', 'x'}>>> k & {'x'}set()>>> v = d.values()>>> vdict_values([1, 2])>>> v | {'x'}Traceback (most recent call last):  File "
", line 1, in
TypeError: unsupported operand type(s) for |: 'dict_values' and 'set'

3 排序字典键

两种方法:

3.1 sort:

>>> Ks = list(d.keys())>>> Ks.sort()>>> for k in Ks:...     print(k, d[k])... a 1b 2

3.2 sorted:

>>> for k in sorted(d.keys()):...     print(k, d[k])... a 1b 2

3.3 注意

>>> for k in list(d.keys()).sort():...     print(k, d[k])... Traceback (most recent call last):  File "
", line 1, in
TypeError: 'NoneType' object is not iterable出错原因:list.sort() list.append()函数都是对自身的操作,没有返回值,故需先将list(d.keys())的结果保存下来,在结果上进行sort()

4 常用函数

4.1 get()

D.get(k[, d])   => D[k] if k in D else d. d defaults to none.

4.2 pop()

D.pop(value[, d])   => Remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised.

4.3 udpate()

D.update(E, **F) -> None.  Update D from dict/iterable E and F.    If E has a .keys() method, does:     for k in E: D[k] = E[k]    If E lacks .keys() method, does:     for (k, v) in E: D[k] = v    In either case, this is followed by: for k in F: D[k] = F[k]>>> d = dict(name='visaya', age=21)>>> d1= {'age': 20, 'sex': 'male'}>>> d2 = zip(['a', 'b'], [1, 2])>>> d.update(d1)>>> d{'age': 20, 'name': 'visaya', 'sex': 'male'}#for k in d1: d[k] = d1[k]>>> d.update(d2)>>> d{'age': 20, 'name': 'visaya', 'sex': 'male'}#for (k, v) in d2: d[k] = v

4.4 del()

del D[key]

4.5 clear()

4.6 copy()

Author: visaya 

Date: 2011-08-03 22:32:26 CST

HTML generated by org-mode 6.33x in emacs 23

转载于:https://www.cnblogs.com/visayafan/archive/2011/09/27/2193633.html

你可能感兴趣的文章