python基本数据类型——字典

字典

1. “键-值”对的可变序列,

2. ‘键’ 可以是任意不可变序列,如整数、实数、复数、字符串、元组等,不允许重复,‘值’ 可以重复

3. 可以使用globals() 和 locals() 查看当前作用域内所有全局/局部变量和值的字典

 1 #创建字典
 2 >>keys = ['a','b','c']
 3 >>values = [1,2,3]
 4 >>adic = dict(zip(keys,values))
 5 >>print(adict)
 6 {'a': 1, 'b': 2, 'c': 3}
 7 
 8 >>person = dict(name='Jack',age=37)
 9 >>print(person)
10 {'name': 'Jack', 'age': 37}
11 
12 # 删除字典或其元素
13 >>del person['age']
14 >>print(person)
15 {'name': 'Jack'}
16 >>person.pop('name')
17 'Jack'
18 >>print(person)
19 {}
20 
21 # 使用clear() 清空字典
22 >>person = dict(name='Jack',age=37)
23 >>print(person)
24 {'name': 'Jack', 'age': 37}
25 >>person.clear()
26 >>print(person)
27 {}

 

 1 # 读取字典元素
 2 >>adict = dict(name='Nik',age=32,sex='man',work=False)
 3 >>adict['name']
 4 'Nik'
 5 >>adict.get('age')
 6 32
 7 
 8 # 返回键值对
 9 >>adict.items()
10 dict_items([('name', 'Nik'), ('age', 32), ('sex', 'man'), ('work', False)])
11 
12 # 返回值
13 >>adict.values()
14 dict_values(['Nik', 32, 'man', False])
15 
16 # 返回键
17 >>adict.keys()
18 dict_keys(['name', 'age', 'sex', 'work'])
 1 # 添加与修改元素
 2 >>perc = dict(name='Nik',age=32,sex='man',work=False)
 3 >>perc['address'] = 'wht'
 4 >>print(aditc)
 5 {'address': 'wht', 'age': 32, 'name': 'Nik', 'sex': 'man', 'work': False}
 6 
 7 # 使用update将另一个字典的键值对全部添加到当前字典中,从头部添加
 8 >>perc.update({'id':256,'height':175})
 9 >>print(perc)
10 {'address': 'wht', 'age': 32, 'height': 175, 'id': 256, 'name': 'Nik',
11  'sex': 'man', 'work': False}
12 
13 # 生成1000个随机字符,并统计每个字符出现次数
14 >>import string
15 >>import random
16 >>x=string.ascii_letters+string.digits+string.punctuation
17 >>print(x)
18 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
19 >>y=[random.choice(x) for i in range(1000)]
20 >>z = ''.join(y)
21 >>d = dict()
22 >>for ch in z:
23         d[ch] = d.get(ch,0)+1
24 >>print(d)
25 #结果较多,不列出
26 
27 #使用collections模块的Counter类统计字符次数
28 >>import colllections import Counter
29 >>freq = Counter(z)
30 >>freq.items()
31 # 出现次数最多的
32 >>freq.most_common(1)
33 [('A', 18)]
34 # 最多次数前3
35 >>freq.most_common(3)
36 [('A', 18), (')', 18), (':', 17)]

 

posted @ 2018-04-06 10:01  飞鸟先森  阅读(265)  评论(0编辑  收藏  举报