字典 in python

什么是字典Dictionary

字典是一种数据结构,由一系列的"键-值对"构成,可以通过键查找对应的值。
字典和纸质字典很像,通过单词索引表找到其相应的定义。或许发明这种数据结构的人就是受了现实世界中字典的启发呢!
字典在不同的语言中都存在,只不过名字不一样而已。如在C++中叫map,在JAVA中叫 HashTable 或者 HashMap。
电话本就是一种典型的字典数据结构,如王三-13053125598,键指的就是王三,值就是电话号码。

''' 创建字典 
1.使用{}创建字典
2.使用:指明键:值对
3.键必须是不可变的,且不重复,值可以是任意类型
'''
my_dict = {'John':86411234, 'Bob':86419453, 'Mike':86412387}
'''访问字典
1.使用[]运算符,键作为索引
2. 增加一个新的键值对
'''
print (my_dict['Bob'])
my_dict['Tom'] = 86417639
'''字典运算符和方法
- len(my_dict), 求字典中键-值对的数量
- key in my_dict, 快速判断key是否为字典中的键,其时间复杂度为常数O(1),内部利用了哈希计数方法
- my_dict.has_key(key), 同上
- for key in my_dict,枚举字典中的键,注意,字典中的键是**无序**的
- my_dict.items(),全部的键值对列表,常用函数
- my_dict.keys(), 全部的键,常用函数
- my_dict.values(), 全部的值,常用函数
- my_dict.clear(), 清空字典
- setdefault(), 设置默认值
 '''
#漂亮打印
import pprint
pprint.pprint(dict)//会比print的输出结果更干净
# 统计一个字符串中出现字母的次数
s = 'alsdfjadsdsfsadfdsaf'
d = {}
for i in s:
	if i in d:
		d[i] += 1
	else:
		d[i] = 1
# 统计一个文本中出现频率最高的10个单词
f = open('emma.txt')
word_freq = {}
for line in f :
	# 分行,分单词
	words = line.strip().split()
	for word in words:
		word_freq[word] += 1
	else:
		word_freq[word] = 1
freq_word = []
# 构建一个列表,由元组组成,元组由单词和次数组成
for word, freq in word_freq.items():
	freq_word.append((freq, word))
freq_word.sort(reverse = True)
for freq, word in freq_word[:10]
	print (word)
f.close()
# 反转字典
d1 = {'Zhang':123, 'Wang':456, 'Li':123, 'Zhao':456}
d2 = {}
for name, room in d1.items():
	if room in d2:
		d2[room] += 1
	else :
		d2[room] = [name]
print(d2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值