Python-字典的增删改查常见操作

字典创建(两种方法)

dic = {'word':12,'hello':10,'key':0} #1直接创建
dic = {} #2创建空字典
a = (('word',12),('hello',10))
dic = dict(a) ##3将元组改为dic

字典的增删改查

1,增加(两种方法)

dic['mother'] = 10 #1 -> 直接增加,若key存在则覆盖原key,value

dic.update({'mother':10}) #2 -> 利用update增加

2,删除(三种方法)

x = dic.pop('mother') 
# 1 -> dic.pop(key) -> 返回value,同时删除(key,value) 
# x -> 12
  
del dic['mother']
# 2 -> del dic[key] -> 没有返回值,直接删除

dic.clear() 
# 3 -> dic.clear() ->调用dic封装的函数,清空dic
# 清空dic, dic={} dic在内存中还存在 
# del dic 直接删除dic对象 

3 ,更改(同增加操作,有key直接覆盖,没有增加,update也试用)

4,查找(常见的操作)

dic.items()  # 以元组形式返回dic中的键值对
dic.keys()   # 返回dic中的key
dic.values() # 返回dic中的values
dic.get(key,0) # 获取dic中key对应的value,若不存在该key, 返回  0
dic.setdefault(key,1) #获取dic中key对应的value,若不存在该key,则 创建 dic[key]= 1

注意1:dic.items()是作为一个可迭代对象返回的,不能用直接用x = dic.items()[0]这样的方式获取dic中的第一个(key,value),可以用下面这样的方式来获取。dic.keys(),dic.values()同理。

x = [x for x in dic.items()][0]

注意2::写 for i in dic时,i不会返回键值对,默认i返回的是key。等价于 for key in dic.keys()。

应用实例:词频统计

corpus = ['hello','dear','my','name','is','foo','my','father','name','is','fuu',\
           'my','mother','name','is','lyy']

dic  = {}
for word in corpus: ##统计频率
    dic[word] = dic.get(word,0) + 1 
dic_sort = sorted(dic.items(),key = lambda x:x[1],reverse = True) #排序->list
'''
# 上面内容等价于,只不过返回类型不同
dic = collections.Counter(corpus) '''
print(dic_sort[:5]) #输出频率最高的前5个的

 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python常见的数据结构包括列表、元组、字典、集合等,下面分别介绍它们的增删改查操作: 1. 列表(list) 增加元素: - append():在列表末尾添加元素 - insert():在指定位置插入元素 - extend():将一个列表中的所有元素添加到另一个列表中 删除元素: - remove():删除列表中指定元素 - pop():删除列表中指定位置的元素 - clear():删除列表中所有元素 修改元素: - 直接对指定位置的元素赋值即可 查找元素: - index():返回指定元素在列表中的位置 - count():返回指定元素在列表中出现的次数 2. 元组(tuple) 元组是不可变的,因此不能增加、删除、修改元素,只能查找元素: - index():返回指定元素在元组中的位置 - count():返回指定元素在元组中出现的次数 3. 字典dictionary) 增加元素: - 直接对字典中不存在的键进行赋值即可 删除元素: - del:通过键删除字典中的元素 - pop():删除指定键的元素,并返回该元素的值 - popitem():随机删除字典中的一个键值对,并返回该键值对 修改元素: - 直接对指定键的值进行赋值即可 查找元素: - get():返回指定键对应的值,如果不存在则返回默认值 - keys():返回字典中所有的键 - values():返回字典中所有的值 - items():返回字典中所有的键值对 4. 集合(set) 增加元素: - add():向集合中添加元素 删除元素: - remove():删除集合中指定元素 - discard():删除集合中指定元素,如果元素不存在也不会报错 - pop():随机删除集合中的一个元素 修改元素: - 集合中的元素不能修改 查找元素: - in:判断指定元素是否在集合中 - intersection():返回两个集合的交集 - union():返回两个集合的并集 - difference():返回两个集合的差集
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Foneone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值