Created
December 18, 2018 13:45
-
-
Save caoya171193579/18dd18782c55c5a3cbc77600493806a1 to your computer and use it in GitHub Desktop.
入门
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
字典 (定义 {} 、 格式 (:) ) <type 'dict'> | |
字典是python中唯一的映射类型(哈希表) | |
字典的对象是可变的,但是字典的键必须使用不可变对象,并且一个字典中可以使用不同类型的键值。 | |
keys()或者values() 返回键列表或者值列表 | |
items() 返回包含键值对的元祖 | |
字典的定义:用花括号{} | |
>>> d={1:2,2:3,3:4} (定义一个字典d) | |
>>> type(d) (查看d 属于什么类型) | |
<type 'dict'> (dict 代表 字典) | |
>>> d | |
{1: 2, 2: 3, 3: 4} | |
>>> d[1] (查看keys(k) [1] 的值) | |
2 | |
>>> d[2] | |
3 | |
>>> d[3] | |
4 | |
>>> d[0] (字典是从1开始记值。values[哇六])所以字典里面没有0这个key | |
Traceback (most recent call last): | |
File "<stdin>", line 1, in <module> | |
KeyError: 0 | |
>>> d={"name":'dandan','age':28,'tel':18867796071} (定义字典d,对应的keys,和值 ,:前面是keys, : 后面是values 值) | |
>>> d | |
{'age': 28, 'tel': 18867796071, 'name': 'dandan'} | |
>>> d['name'] (查看keys'name' 对应的值) | |
'dandan' | |
>>> d['tel'] | |
18867796071 | |
>>> d['age'] | |
28 | |
############################################################# | |
>>> a=100 | |
>>> b=450 | |
>>> dic={a:'aaa','b':'bbb'} (keys可以是一个变量,也可以是字符串,和任何不可改变的元素,前提是要提前给key做个定义,定义成不可边的任何类型,然后再加进字典里面) | |
>>> a | |
100 | |
>>> dic | |
{'b': 'bbb', 100: 'aaa'} | |
>>> a=100 | |
>>> b=450 | |
>>> dic={b:'aaa','a':'bbb'} | |
>>> b | |
450 | |
>>> dic | |
{'a': 'bbb', 450: 'aaa'} | |
查看字典内的元素 | |
循环遍历 (for k in +字典名)快速取值, 后面还会重点讲 | |
{'b': 'bbb', 100: 'aaa'} | |
>>> for k in dic: (循环 字典 dic) | |
... print k (输出字典内所有的keys, 注意前面有四个空格) | |
... | |
... | |
b | |
100 | |
>>> for k in dic: | |
... dic[k] (输出字典内所有keys对应的values值, 注意前面有四个空格) | |
... | |
'bbb' | |
'aaa' | |
##################################################################### | |
字典(哈希类型的值)是无顺序型的类型,(胡乱排的,只用记着:前面的是keys,:后面的是values), 和列表不同,列表是有顺序的从0开始依次往后排。 字典是通过keys来取值的,而列表是通过位置0123456 依次来取值的) | |
字典内添加keys: | |
>>> dic | |
{'b': 'bbb', 100: 'aaa'} | |
>>> dic['tel']=18867796071 (添加一个叫'tel' 的keys ,然后values值=18867796071) | |
>>> dic (展示dic 对应的字典) | |
{'tel': 18867796071, 'b': 'bbb', 100: 'aaa'} | |
>>> dic[9]='sss' (添加一个叫9 的keys ,然后values值='sss') | |
>>> dic | |
{'tel': 18867796071, 'b': 'bbb', 100: 'aaa', 9: 'sss'} | |
字典的修改: | |
>>> dic['tel']=188 (修改字典dic中 'tel' 这个keys的值) | |
>>>dic | |
{'tel': 188, 'b': 'bbb', 100: 'aaa'} | |
字典的删除: | |
>>> dic | |
{'tel': 18867796071, 'b': 'bbb', 100: 'aaa', 9: 'sss'} | |
>>> del(dic['tel']) (删除字典dic中 'tel' 这个keys) | |
>>> dic | |
{'b': 'bbb', 100: 'aaa', 9: 'sss'} | |
>>> del(dic[9]) (删除字典dic中 9 这个keys) | |
>>> dic | |
{'b': 'bbb', 100: 'aaa'} | |
字典名.pop(keys) :删除并且返回()内这个keys的元素,也就是values 值。 | |
>>> dic | |
{'b': 'bbb', 100: 'aaa'} | |
>>> dic.pop('b') (弹出keys 'b' 的值,并删除它) | |
'bbb' | |
>>> dic | |
{100: 'aaa'} | |
字典名.clear() :删除字典的所有元素 | |
>>> dic | |
{100: 'aaa'} | |
>>> dic.clear() (清空字典 dic) | |
>>> dic | |
{} (它依然是个字典,只不过是个空字典) | |
del 字典名 :删除整个字典 | |
>>> del dic (彻底删除 字典 dic) | |
>>> dic | |
Traceback (most recent call last): | |
File "<stdin>", line 1, in <module> | |
NameError(未定义的变量): name 'dic' is not defined | |
后期会介绍字典的一个重要函数 copy() :用来做字典的比较,比较字典的大、小、键(keys)、值(values). | |
len(), hash() (用于判断某个对象是否可以做一个字典的键(keys),非哈希类型会报TypeError错误)。 | |
字典名.get(key, '自定义一个值'): 返回key的value 值, 如果该键(keys)不存在返回自定义的值。 | |
>>> dic | |
{1: 123, 'xing': 'nv', 'name': 'dandan'} | |
>>> dic.get(2, 'Error') (查看字典dic 内 有没有2 , 这个keys , 如果没有返回 'Error') | |
'Error' | |
字典名.keys() : 返回字典中键(keys)的列表。 | |
>>> dic | |
{1: 123, 'xing': 'nv', 'name': 'dandan'} | |
>>> dic.keys() | |
[1, 'xing', 'name'] | |
字典名.values : 返回字典中所有键 对应的值。 | |
>>> dic | |
{1: 123, 'xing': 'nv', 'name': 'dandan'} | |
>>> dic.values() | |
[123, 'nv', 'dandan'] | |
字典名.items() :返回键值 转换成元祖的列表。 | |
>>> dic | |
{1: 123, 'xing': 'nv', 'name': 'dandan'} | |
>>> dic.items() | |
[(1, 123), ('xing', 'nv'), ('name', 'dandan')] | |
字典名.has_key(key) : 判断字典中是否存在key. | |
>>> dic | |
{1: 123, 'xing': 'nv', 'name': 'dandan'} | |
>>> dic.has_key(2) | |
False (表示不存在) | |
>>> dic.has_key(1) | |
True (表示存在) | |
字典名1.update(另一个字典名2) :将字典2中的键值对(keys和values)添加到字典1中,如果有重复就覆盖,字典2 不存在的元素条目 将添加进 字典2内。 | |
>>> dic (查看字典) | |
{1: 123, 'xing': 'nv', 'name': 'dandan'} | |
>>> dic1={2:2,3:3,4:4} (定义字典 dic1) | |
>>> dic.update(dic1) (将字典dic1中的键值对 添加到dic 中) | |
>>> dic (查看字典) | |
{1: 123, 2: 2, 3: 3, 'xing': 'nv', 'name': 'dandan', 4: 4} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment