Python基础笔记-05

48.字典:花括号,键值对,dic[键]=值

1)利用dict函数创建字典

>>> a=dict((('a',97),('b',98),('c',99)))

>>> a

{'a': 97, 'b': 98, 'c': 99}

>>> a2=dict('a'=97,'b'=98,'c'=99)

SyntaxError: keyword can't be an expression

>>> a2=dict('a'=97,'b'=98,'c'=99)

SyntaxError: keyword can't be an expression

>>> a2=dict(a=97,b=98,c=99)

>>> a2

{'a': 97, 'b': 98, 'c': 99}

2)dict的help如下:

 dict() -> new empty dictionary--创建一个空字典

 | dict(mapping) -> new dictionary initialized from a mapping object's

 |     (key, value) pairs--利用映射对象来初始化一个新的字典

 | dict(iterable) -> new dictionary initialized as if via:--利用迭代器创建

 |     d = {}

 |     for k, v in iterable:

 |         d[k] = v

 | dict(**kwargs) -> new dictionary initialized with the name=value pairs--利用等号链接键值

 |     in the keyword argument list. For example: dict(one=1, two=2)

2-1)创建一个空字典

>>> a3=dict()

>>> a3

{}

2-2)利用映射关系对创建

>>> a=dict((('a',97),('b',98),('c',99)))

>>> a

{'a': 97, 'b': 98, 'c': 99}

2-3)利用迭代器

>>> dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典

{'three': 3, 'two': 2, 'one': 1}

2-4)利用等号

>>> a2=dict(a=97,b=98,c=99)

>>> a2

{'a': 97, 'b': 98, 'c': 99}

以下是网络上dict函数的说明:

>>>dict() # 创建空字典

{}

>>> dict(a='a', b='b', t='t') # 传入关键字

{'a': 'a', 'b': 'b', 't': 't'}

>>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典

{'three': 3, 'two': 2, 'one': 1}

>>> dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典

{'three': 3, 'two': 2, 'one': 1}

3)通过键往修改和新增字典中的值

3-1)修改

>>> a={'a':1,'b':2,'c':3}

>>> a['a']=4

>>> a

{'a': 4, 'b': 2, 'c': 3}

3-2)新增

>>> a['d']=9

>>> a

{'a': 4, 'b': 2, 'c': 3, 'd': 9}

49.字典的fromkeys方法:

>>> dict1={}#创建一个空字典

>>> dict1.fromkeys((1,2,3))#利用fromkeys方法,传递一个参数(1,2,3)将作为key,value默认为none

{1: None, 2: None, 3: None}

>>> dict1.fromkeys((1,2,3),'number')#利用fromkeys方法,传递一个参数(1,2,3)将作为key,传递一个number作为value,所有的value都是number

{1: 'number', 2: 'number', 3: 'number'}

>>> dict1.fromkeys((1,2,3),('one','two','three'))#利用fromkeys方法,传递一个参数(1,2,3)将作为key,传递一个('one','two','three')作为value

{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}

>>> dict1.fromkeys((1,3),'number')

{1: 'number', 3: 'number'}

>>> dict1#上面做的都生成了新的字典,对原始dict1没有影响

{}

50.keys() values() items() get()方法

>>> dict1=dict1.fromkeys(range(32),'赞')

>>> dict1

{0: '赞', 1: '赞', 2: '赞', 3: '赞', 4: '赞', 5: '赞', 6: '赞', 7: '赞', 8: '赞', 9: '赞', 10: '赞', 11: '赞', 12: '赞', 13: '赞', 14: '赞', 15: '赞', 16: '赞', 17: '赞', 18: '赞', 19: '赞', 20: '赞', 21: '赞', 22: '赞', 23: '赞', 24: '赞', 25: '赞', 26: '赞', 27: '赞', 28: '赞', 29: '赞', 30: '赞', 31: '赞'}

1)keys()

>>> for eachkey in dict1.keys():

   print(eachkey)

将打印出所有的key

2)values()

>>> for eachvalue in dict1.values():

   print(eachvalue)

将打印出所有的values

3)items()

>>> for eachitem in dict.items():

   print(eachitem)

4)get()

dict.get(key,default=None)

key -- 字典中要查找的键。

default -- 如果指定键的值不存在时,返回该默认值值。

5)in和not in:检测key是否在字典中

6)clear():dict1.clear()

7)copy():生成新的字典

>>> a={1:'one',2:'two',3:'three'}

>>> b=a.copy

>>> c=a

>>> id(a)

2036961655880

>>> id(b)

2036961297248

>>> id(c)

2036961655880

8)pop()与popitem()

pop是给定键弹出对应的值;popitem是弹出一个项

>>> a.pop(2)

'two'

>>> a

{1: 'one', 3: 'three'}

>>> a.popitem()

(1, 'one')

>>> a

{3: 'three'}

9)setdefault():与get方法类似,不过当其找不到对应键的时候会自动添加这个key,默认对应value是none

9-1)无参数:

>>> a

{3: 'three'}

>>> a.setdefault('xiaobai')

>>> a

{'xiaobai': None, 3: 'three'}

9-2)有参数:指定value

>>> a.setdefault(5,'five')

'five'

>>> a

{'xiaobai': None, 3: 'three', 5: 'five'}

10)update:利用一个字典或者一个映射关系去更新一个字典

>>> b={'xiaobai':'gou'}

>>> a.update(b)

>>> a

{3: 'three', 5: 'five', 'xiaobai': 'gou'}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352

推荐阅读更多精彩内容