以下哪条语句定义了⼀个python的字典_Python中字典的基础
知识归纳⼩结
定义⼀个字典
>>> d = {"server":"mpilgrim", "database":"master"} 1
>>> d
{'server': 'mpilgrim', 'database': 'master'}
>>> d["server"] 2
python基础知识整理'mpilgrim'
>>> d["database"] 3
'master'
>>> d["mpilgrim"] 4
Traceback (innermost last):
File "", line 1, in ?
KeyError: mpilgrim
⾸先,我们创建了⼀个拥有两个元素的新字典,并将其赋值给变量 d。每⼀个元素都是⼀个键-值对,整个元素集合⽤⼤括号括起来。
server 是⼀个键字,它所关联的值为 mpilgrim,⽤ d["server"] 来引⽤。
database 是⼀个键字,它所关联的值为 master,⽤ d["database"] 来引⽤。
你可以通过键字来得到值,但是不能通过值得到键字。所以 d["server"] 为 mpilgrim,但是使⽤ d["mpilgrim"] 会引发⼀个异常,因为mpilgrim 不是⼀个键字。
修改⼀个字典
>>> d
创新驱动发展战略 促进国民经济{'server': 'mpilgrim', 'database': 'master'}
>>> d["database"] = "pubs" 1
>>> d
{'server': 'mpilgrim', 'database': 'pubs'}
>>> d["uid"] = "sa" 2
>>> d
玳瑁猫怎么看品相
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}
不能在⼀个字典中有重复的键字。给⼀个存在的键字赋值会抹掉原来的值。
可以在任何时候加⼊新的键-值对。这种语法同修改存在的值⼀样。(是的,它可能某天会给你带来⿇烦,你可能认为增加了新值,但实际上只是反复地修改了同样的值,因为你的键字没有按照你的想象改变。)
注意新的元素(键字为 uid,值为 sa)出现在字典中间。实际上,它只不过是⼀种巧合,在第⼀个例⼦中的元素看上去是有序的。现在它们看上去⽆序了则更是⼀种巧合。
Note
字典没有元素顺序的概念。说元素顺序乱了是不正确的,它们只是简单的⽆序。这是⼀个重要的特性,它会在你想要以⼀种特定的,可重复的顺序(象以键字的字母表顺序)存取字典元素的时候骚扰你。有⼀些实现的⽅法,它们只是没有加到字典中去。
在字典中混⽤数据类型
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'pubs'}
>>> d["retrycount"] = 3 1
>>> d
数据库原理及应用是什么{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3}
>>> d[42] = "douglas" 2
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3}
字典不是只⽤于字符串。字典的值可以是任意数据类型,包括字符串,整数,对象,或者甚⾄其它的字典。在⼀个单个字典⾥,字典的值并不需要全都是同⼀数据类型,可以根据需要混⽤和配匹。
字典的关键字要严格⼀些,但是它们可以是字符串,整数和⼏种其它的类型(后⾯还会谈到这⼀点)。也可以在⼀个字典中混⽤和配匹关键字。
从字典中删除元素
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 42: 'douglas', 'retrycount': 3}
>>> del d[42] 1
>>> d
{'server': 'mpilgrim', 'uid': 'sa', 'database': 'master', 'retrycount': 3}
>>> d.clear() 2
>>> d
{}
del 允许你根据键字将单个元素从字典中删除。
clear 会删除⼀个字典中所有元素。注意空的⼤括号所表⽰的集合说明⼀个字典没有元素。
字符串是⼤⼩写敏感
>>> d = {}
>>> d["key"] = "value"
>>> d["key"] = "other value" 1
>>> d
{'key': 'other value'}
>>> d["Key"] = "third value" 2
>>> d
{'Key': 'third value', 'key': 'other value'}
将⼀个值赋给⼀个存在的字典关键字只是简单的⽤新值替换旧值。
这样做不会将⼀个值赋给⼀个存在的字典关键字,因为在Python中字符串是⼤⼩写敏感的,所以 'key' 与 'Key' 是不同的。这样就在字典中⽣成了⼀个新的键/值对。对你来说可能差不多,但对于Python来说,完全是不同的。
如何访问字典中的值:
>>> dict2 = {'name':'earth','port':80}
>>> for key in dict2.keys():
... print 'key=%s,value=%s' %(key,dict2[key])
...
key=name,value=earth
key=port,value=80
>>> for key in dict2:
... print 'key=%s,value=%s' %(key,dict2[key])
...
key=name,value=earth
key=port,value=80
获取字典某个元素值:
>>> dict2['name']
'earth'
>>> print 'host %s is running on port %d' %(dict2['name'],dict2['port'])
host earth is running on port 80
检查字典中是否有某个键的⽅法 has_key()或in,not in
>>> 'name' in dict2
True
>>> 'server' in dict2
False
>>> 'name' in dict2
True
>>> dict2['name']
'earth'
>>> dict2.has_key('server')
False
>>> dict2.has_key('name')
True
⼀个字典中混⽤数字和字符串的例⼦:
>>> dict3 = {}
>>> dict3[1] = 'abc'c语言字符型常量有哪些
>>> dict3['1'] = 3.14159
>>> dict3[3.2] = 'xyz'
>>> dict3
{'1': 3.14159, 1: 'abc', 3.2: 'xyz'}
整体赋值:
>>> dict3 = {'1': 3.14159, 1: 'abc', 3.2: 'xyz',33:'hehe'}
>>> dict3
{'1': 3.14159, 1: 'abc', 3.2: 'xyz', 33: 'hehe'}
更新字典:
>>> dict2['name'] = 'venus'redefinition
>>> dict2['port'] = 6969
>>> dict2['arch'] = 'sunos5'
>>> print 'host %(name)s is running on port %(port)d' %dict2 host venus is running on port 6969
删除字典元素和字典
>>> dict2
{'arch': 'sunos5', 'name': 'venus', 'port': 6969}
>>> del dict2['name']
>>> dict2
{'arch': 'sunos5', 'port': 6969}
>>> dict2.clear()
>>> dict2
{}
>>> del dict2
>>> dict2
Traceback (most recent call last):
File "", line 1, in
NameError: name 'dict2' is not defined
>>> dict3
{'1': 3.14159, 1: 'abc', 3.2: 'xyz', 33: 'hehe'}
>>> dict3.pop(33)
'hehe'
>>> dict3
{'1': 3.14159, 1: 'abc', 3.2: 'xyz'}
注:避免使⽤内建对象名字作为变量的标识符类似: dict,list,file,bool,str,input,len

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。