python-010-字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-010-字典相关的知识,希望对你有一定的参考价值。

字典

键key:拼音
值value:页码
key-value:键值对
字典是python中唯一的映射类型,指两个元素之间一一对应的关系
(注明:字典是映射类型,不是序列类型)

brand=[‘外星人‘,‘戴尔’,‘联想’,‘苹果’]
English=[‘AlienWare‘,‘Dell‘,‘Lenovo‘,‘Apple‘]
#品牌与英文一一对应
print(‘外星人---‘,‘AlienWare‘)显示不出来中文,ASCII是十进制, 此时utf-8用的是Unicode,对应的是十六进制的数据,此时转换过程
#不行,byteString,十进制,unicodeString 十六进制,python2默认十进制,

·字典的创建于访问

dict:字典可以dict(),n内置方法
d={}表示形式
d={‘外星人‘:‘AlienWare‘,‘戴尔‘:‘Dell‘,‘联想‘:‘Lenovo‘,‘苹果‘:‘Apple‘}

print d[‘外星人‘]
AlienWare

1、名称={键1:值1,键2:值2,。。。}
2、空字典={}
3、利用函数创建字典
dict(mapping)

d=dict(((‘one‘,1),(‘two‘,2),(‘three‘,3)))#可以用列表 只要映射关系正确都可以

print d#{‘three‘: 3, ‘two‘: 2, ‘one‘: 1}

4、利用关键字参数创建字典

d=dict(one=1,two=2,three=3)
print d#{‘three‘: 3, ‘two‘: 2, ‘one‘: 1}

·字典的访问
1、字典的名称[键名]
2、改写键对应的值

d=dict(one=1,two=2,three=3)
d[‘one‘]=100
print d#{‘three‘: 3, ‘two‘: 2, ‘one‘: 100}

3、增加新的键值对
d[‘four‘]=4
print d#{‘four‘: 4, ‘three‘: 3, ‘two‘: 2, ‘one‘: 100}
4、访问不存在的键值对:
    报错

    ·字典的内键方法(内置函数):
1、fromkeys(...)
     创建并且返回一个新的字典
    dict.fromkeys(s,[,v])
        s:键 v:值(没有给值,默认None)

当第一个参数是容器(元祖,列表,字典)时,会将第二个
参数的整体看成键的值

d.fromkeys((‘one‘,‘two‘,‘three‘))#{‘three‘: None, ‘two‘: None, ‘one‘: None}
d.fromkeys([‘one‘,‘two‘,‘three‘])#{‘three‘: None, ‘two‘: None, ‘one‘: None}
d.fromkeys({‘one‘:1,‘two‘:2,‘three‘:3})#{‘one‘: None, ‘three‘: None, ‘two‘: None}只拿键不拿值
d.fromkeys([‘one‘,‘two‘,‘three‘],[1,2,3])#{‘three‘: [1, 2, 3], ‘two‘: [1, 2, 3], ‘one‘: [1, 2, 3]}

2、keys()
返回字典键的引用

 d=d.fromkeys([‘one‘,‘two‘,‘three‘])
 d.keys()#[‘three‘, ‘two‘, ‘one‘]
(把所有键拿出了封装列表输出)
3、values()

d={‘one‘:1,‘two‘:2,‘three‘:3}
d.values()#[3, 2, 1]
    返回字典中的值引用
(把所有值拿出了,封装一个列表返回)

4、items()

d.items()#[(‘three‘, 3), (‘two‘, 2), (‘one‘, 1)]
返回字典的项(键值对)

5、get(key[,d])
获得(访问)字典中的键值对

 d.get(‘one‘)#1
 d.get(‘five‘)
 print d.get(‘five‘)#None

6、in/not in

d={‘one‘:1,‘two‘:2,‘three‘:3}
‘three‘in d#True
‘five‘in d #False

7、clear()
清空字典

d.clear()
d#{}

8、copy()

浅拷贝
字典拷贝,地址不同 开始字典里面内容没有发生改变,更深地址不变。

技术分享图片技术分享图片
9、pop()
给定键弹出对应键值对(弹出的值会在字典移除,没有对应的键
,并且字典没有异常,就会报错。)返回对应值。

{‘three‘: 3, ‘two‘: 2, ‘one‘: 1}
d.pop(‘one‘)#1

10、popitem()

同上,返回是一个键值对(栈空间)。

d={‘three‘: 3, ‘two‘: 2, ‘one‘: 1}
d.popitem()#(‘one‘, 1)弹出是随机的 内存上面的

11、setdefault(...)
如果字典中没有键值对,则在随机位置创建一个键,如果值没有设置,默认None

setdefault(k,[,d])
d={‘three‘: 3, ‘two‘: 2}
d.setdefault(‘one‘)
d#{‘one‘: None, ‘three‘: 3, ‘two‘: 2}

12、利用字典映射关系,更新字典

d={‘three‘: 3, ‘two‘: 2, ‘one‘: 1}
a={‘three‘:5}
d.update(a)
d#{‘one‘: 1, ‘three‘: 5, ‘two‘: 2}

以上是关于python-010-字典的主要内容,如果未能解决你的问题,请参考以下文章

Python snippet(代码片段)

Python代码阅读(第19篇):合并多个字典

Python代码阅读(第26篇):将列表映射成字典

Python代码阅读(第40篇):通过两个列表生成字典

Selenium with Python 010 - unittest 框架(又称PyUnit 框架)

[Python]?????????Python?????????010???(????????????????????????????????????)????????????????????????