python (2) 字典

一。字典的特性。:

  (1). python 字典是无序的。(而列表有序) 我们可以把字典理解为一组 key:value 这样的健值对。

  (2). python字典的key是唯一的。

  (3). 字典可以嵌套字典,嵌套列表。

  eg:定义一个字典。对字典进行基本操作。

 1 >>> dict = {
 2 ... 'one': "1111",
 3 ... 'two': "2222",
 4 ... 'three': "3333",
 5 ... 'foure': "4444",
 6 ... }    #定义一个字典
 7 >>> print(dict)
 8 {'two': '2222', 'three': '3333', 'foure': '4444', 'one': '1111'}
 9 >>> dict["fave"] = "5555"    #
10 >>> dict
11 {'two': '2222', 'three': '3333', 'foure': '4444', 'one': '1111', 'fave': '5555'}
12 >>> dict.pop("one")    #pop函数删除
13 '1111'
14 >>> dict
15 {'two': '2222', 'three': '3333', 'foure': '4444', 'fave': '5555'}
16 >>> del dict["two"]    #del删除
17 >>> dict
18 {'three': '3333', 'foure': '4444', 'fave': '5555'}
19 >>> dict["fave"] = "5"  #
20 >>> dict
21 {'three': '3333', 'foure': '4444', 'fave': '5'}
22 >>> dict.get("four")    
23 >>> dict.get("foure")    #查,字典中不存在不会报错,而是返回 none
24 '4444'
25 >>> dict["foure"]    #查,字典中不存在会报错
26 '4444'
27 >>> "four" in dict
28 False
29 >>> "four" not in dict
30 True
View Code

  eg:字典的嵌套和字典的其他操作。

 1 >>> dict = {
 2 ...     "BeiJing": {
 3 ...         "Changping": ["1.shangdi","2.xierqi"],
 4 ...         "Xicheng": ["1.xizhimen","2.dazhongshi"],
 5 ...         "Tongzhou": ["1.pinguoyuan","2.tuqiao"],
 6 ...     },
 7 ...     "ShangHai": {
 8 ...         "Baoshan": ["1.hulanlu","2.gongkanglu"],
 9 ...         "Huangpu": ["1.huangpulu","2.xilu"],
10 ...         "Pudong": ["1.putongkaifaqv","2.fudongdaqiao"],
11 ...     },
12 ...     "ShenZhen": {
13 ...         "Baoan": ["A1","A2"],
14 ...         "Futain": ["B1","B2"],
15 ...         "Yantian": ["C1","C2"],
16 ...     },
17 ... }    #定义一个带嵌套的字典
18 >>> print(dict)
19 {'BeiJing': {'Changping': ['1.shangdi', '2.xierqi'], 'Tongzhou': ['1.pinguoyuan', '2.tuqiao'], 'Xicheng': ['1.xizhimen', '2.dazhongshi']}, 'ShenZhen': {'Futain': ['B1', 'B2'], 'Baoan': ['A1', 'A2'], 'Yantian': ['C1', 'C2']}, 'ShangHai': {'Pudong': ['1.putongkaifaqv', '2.fudongdaqiao'], 'Huangpu': ['1.huangpulu', '2.xilu'], 'Baoshan': ['1.hulanlu', '2.gongkanglu']}}
20 >>> dict.keys()    #获取字典里的 key
21 dict_keys(['BeiJing', 'ShenZhen', 'ShangHai'])
22 >>> dict.values()    #获取字典里的 values
23 dict_values([{'Changping': ['1.shangdi', '2.xierqi'], 'Tongzhou': ['1.pinguoyuan', '2.tuqiao'], 'Xicheng': ['1.xizhimen', '2.dazhongshi']}, {'Futain': ['B1', 'B2'], 'Baoan': ['A1', 'A2'], 'Yantian': ['C1', 'C2']}, {'Pudong': ['1.putongkaifaqv', '2.fudongdaqiao'], 'Huangpu': ['1.huangpulu', '2.xilu'], 'Baoshan': ['1.hulanlu', '2.gongkanglu']}])
24 >>> dict.items()    #遍历字典
25 dict_items([('BeiJing', {'Changping': ['1.shangdi', '2.xierqi'], 'Tongzhou': ['1.pinguoyuan', '2.tuqiao'], 'Xicheng': ['1.xizhimen', '2.dazhongshi']}), ('ShenZhen', {'Futain': ['B1', 'B2'], 'Baoan': ['A1', 'A2'], 'Yantian': ['C1', 'C2']}), ('ShangHai', {'Pudong': ['1.putongkaifaqv', '2.fudongdaqiao'], 'Huangpu': ['1.huangpulu', '2.xilu'], 'Baoshan': ['1.hulanlu', '2.gongkanglu']})])
26 
27 >>> dict["BeiJing"]["Xicheng"]    #打印dict字典里的字典嵌套
28 ['1.xizhimen', '2.dazhongshi']
29 >>> dict["BeiJing"]["Xicheng"][0]    #打印dict字典里列表的嵌套
30 '1.xizhimen'
31 
32 >>> for k,v in dict.items():    #for函数遍历dict字典
33 ...     print(k,v)
34 ...
35 BeiJing {'Changping': ['1.shangdi', '2.xierqi'], 'Tongzhou': ['1.pinguoyuan', '2.tuqiao'], 'Xicheng': ['1.xizhimen', '2.dazhongshi']}
36 ShenZhen {'Futain': ['B1', 'B2'], 'Baoan': ['A1', 'A2'], 'Yantian': ['C1', 'C2']}
37 ShangHai {'Pudong': ['1.putongkaifaqv', '2.fudongdaqiao'], 'Huangpu': ['1.huangpulu', '2.xilu'], 'Baoshan': ['1.hulanlu', '2.gongkanglu']}
38 >>> list(dict.keys())    #list函数取出dict字典的key
39 ['BeiJing', 'ShenZhen', 'ShangHai']
40 >>> sorted(dict.keys())    #sorted对dict的key排序
41 ['BeiJing', 'ShangHai', 'ShenZhen']
42 >>> "BeiJing" not in dict    #条件控制
43 False
44 >>>
View Code

   eg: 字典的update(合并)操作。

 1 >>> dict = {
 2 ... "a1": 111,
 3 ... "a2": 222,
 4 ... }
 5 >>> dict1 = {
 6 ... "b1": 333,
 7 ... "b2": 444,
 8 ... }
 9 >>> dict.update(dict1)    #把dict1字典更新到dict字典
10 >>> dict
11 {'a1': 111, 'b2': 444, 'b1': 333, 'a2': 222}
12 >>> dict1
13 {'b2': 444, 'b1': 333}
14 >>>
View Code

 字典无序且元素唯一。因为字典是hash类型存储数据,使用字典比使用列表查询速度快,但是占用内存比列表多。

转载于:https://www.cnblogs.com/huajianhuakai/p/6322766.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值