Python创建和访问字典
>>> dict1 = {'a':'1','b':'2','c':'3','d':'4'}
>>> print('a的值是:',dict1['a'])
a的值是: 1
>>> dict4 = dict('我' = '快乐', 你 = '伤悲')
SyntaxError: keyword can't be an expression
>>> dict4['你'] = '改变悲伤'
>>> dict4
{'我': '快乐', '你': '改变悲伤'}
>>> dict4['他'] = '多加一个'
>>> dict4
{'我': '快乐', '你': '改变悲伤', '他': '多加一个'}
fromkeys(S[,v]) 创建并返回一个新的字典
>>> dict1 = {}
>>> dict1.fromkeys((1,2,3))
{1: None, 2: None, 3: None}
>>> dict1.fromkeys((1,2,3),'num')
{1: 'num', 2: 'num', 3: 'num'}
>>> dict1.fromkeys((1,3),'数字') #如果想用fromkeys修改键的值,不会成功会创建新的字典
{1: '数字', 3: '数字'}
访问字典的方法
keys()
values()
items()
>>> dict2 = {}
>>> dict2 = dict2.fromkeys(range(2),'列子')
>>> dict2
{0: '列子', 1: '列子'}
>>> for eachkey in dict2.keys(): #values为'列子'
print(eachkey)
0
1
>>> for eachitem in dict2.items():
print(eachitem)
(0, '列子')
(1, '列子')
get() 查找方法
>>> dict2 = dict2.fromkeys(range(10),'列子')
>>> dict2
{0: '列子', 1: '列子', 2: '列子', 3: '列子', 4: '列子', 5: '列子', 6: '列子', 7: '列子', 8: '列子', 9: '列子'}
>>> dict2.get(5,'无') #如果有则返回值,如果没有则返回'无'
'列子'
>>> dict2.get(10,'无')
'无'
>>> 5 in dict2 #成员操作符判定
True
>>> 10 in dict2
False
clean() 清空一个字典
>>> dict2.fromkeys(range(1),'快乐')
{0: '快乐'}
>>> dict2.clear()
>>> dict2
{}
copy()
>>> a = {1:'one',2:'two',3:'three',4:'four'}
>>> a
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
>>> b = a.copy()
>>> c = a
>>> b
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
>>> c
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
>>>
>>> c[5] = 'five'
>>> c
{1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five'}
>>> a
{1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five'}
>>> b
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
pop()
popitem() 随机弹出
>>> a.pop(2)
'two'
>>> a
{1: 'one', 3: 'three', 4: 'four', 5: 'five'}
>>> a.popitem()
(5, 'five')
>>> a
{1: 'one', 3: 'three', 4: 'four'}
>>> a.setdefault(7,'seven')
'seven'
>>> a
{1: 'one', 3: 'three', 4: 'four', 7: 'seven'}
>>> b = {7:'SEVEN'}
>>> a
{1: 'one', 3: 'three', 4: 'four', 7: 'seven'}
>>> a.update(b)
>>> a
{1: 'one', 3: 'three', 4: 'four', 7: 'SEVEN'}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341