即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

Python 核心编程 学习与进阶笔记三

编程语言 fengxuegt 23℃ 0评论
本文目录
[隐藏]

1.第七章 映像和集合类型

2.字典

1、字典是python中唯一的映射类型。映像类型中的数据是无序排列的。字典是作为可变的哈系表实现的。

2、字典操作


创建字典


访问字典

dict = {'name':'joe','age':22,'sex':'male'}
for key in dict:
    print "%r : %r \n" % (key,dict[key])

'age' : 22 

'name' : 'joe' 

'sex' : 'male'

相关函数:


dict() dict.copy() 函数,这里是浅拷贝。


len() 返回键值对的数目。


hash()返回是否可以当作主键。

>>> dict
{'age': 22, 'name': 'joe', 'sex': 'male'}
>>> dictcp = dict(dict)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: 'dict' object is not callable
>>> dictcp = dict
>>> dictcp
{'age': 22, 'name': 'joe', 'sex': 'male'}
>>> dictcp['name'] = 'lw'
>>> dictcp
{'age': 22, 'name': 'lw', 'sex': 'male'}
>>> dict
{'age': 22, 'name': 'lw', 'sex': 'male'}
>>> dict0 = dict.copy()
>>> dict0
{'age': 22, 'name': 'lw', 'sex': 'male'}
>>> dict0['name'] = 'han'
>>> dict
{'age': 22, 'name': 'lw', 'sex': 'male'}
>>> dict0
{'age': 22, 'name': 'han', 'sex': 'male'}
>>> del dict
>>> dict8 = dict(dict0)
>>> dict0
{'age': 22, 'name': 'han', 'sex': 'male'}
>>> dict8['name'] = 'lw'
>>> dict0
{'age': 22, 'name': 'han', 'sex': 'male'}
>>> dict8
{'age': 22, 'name': 'lw', 'sex': 'male'}
>>> 

**注意:**TypeError: ‘dict’ object is not callable这个异常是由于我定义的字典名称与函数名冲突。


解决办法就是del dict 删除冲突的字典名就好了。

3、内建函数


keys() values() items() (最后一个返回元组的列表)


以上方法在不顺序访问字典时十分有用。


sorted()函数用来顺序遍历,按照键值排序


update() 两个字典的更新。相同键的元素值覆盖,不同的添加进去。eg:dict2.update(dict3)


clear()删除所有条目。

3.集合

1、集合的创建:使用集合的工厂方法 以及type len 方法。分为可变集合和不可变集合。最重要的就是不会存在重复元素,这也是集合的特性。

>>> s = set("cheese")
>>> s
set(['h', 'c', 'e', 's'])
>>> ss = frozenset("cheese")
>>> ss
frozenset(['h', 'c', 'e', 's'])
>>> type(s)
'set'>
>>> len(s)
4
>>> 

2、访问集合

>>> for i in s:
...     print i 
h
c
e
s
>>>

3、更新集合

>>> s.add('z')
>>> s
set(['h', 'c', 'z', 'e', 's'])
>>> s.add(a)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: unhashable type: 'dict'
>>> s.add(2)
>>> s
set([2, 'e', 'h', 'c', 's', 'z'])
>>> s.update("liwng")
>>> s
set([2, 'e', 'g', 'i', 'h', 'c', 'l', 's', 'n', 'w', 'z'])
>>> s.remove(2)
>>> s
set(['e', 'g', 'i', 'h', 'c', 'l', 's', 'n', 'w', 'z'])
>>> 

转载请注明:CodingBlog » Python 核心编程 学习与进阶笔记三

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情