python解决字典中的值是列表问题的方法


Posted in Python onMarch 04, 2013

问题:查找一些英文词在哪些小句中出现了,当然是用python来实现,当然是用字典,但是怎么让一个key对应一个 类型为列表的value,直接用列表的append()是不行的,比如dic[key].append(value),因为解释器并不知道 dic[key]的类型,当时赶时间,用了一个折衷的方案,就是先用value连成一个str,最后用str.split()作一个转换,生成一个列表.

    看了python cookbook,上面正好有一个recipe讲到如何处理这样的问题,好了,揭晓答案吧!

(1)value中允许有重复项.

dic = {}
dic.setdefault(key,[]).append(value)
#如:
d1.setdefault('bob_hu',[]).append(1)
d1.setdefault('bob_hu',[]).append(2)
print d1['bob_hu'] # [1,2]

(2)value中无重复项.

dic = {}
dic.setdefault(key,{})[value] = 1
#如:
d1.setdefault('bob',{})['f'] = 1
d1.setdefault('bob',{})['h'] = 1
d1.setdefault('bob',{})['f'] = 1
print d1['bob'] #{'h': 1, 'f': 1}
Python 相关文章推荐
Python多线程编程(八):使用Event实现线程间通信
Apr 05 Python
Python批量创建迅雷任务及创建多个文件
Feb 13 Python
python使用正则表达式替换匹配成功的组
Nov 17 Python
Python绘制七段数码管实例代码
Dec 20 Python
Python决策树和随机森林算法实例详解
Jan 30 Python
python 移除字符串尾部的数字方法
Jul 17 Python
详解Python下载图片并保存本地的两种方式
May 15 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
详解python中的模块及包导入
Aug 30 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
Python decorator拦截器代码实例解析
Apr 04 Python
python利用faker库批量生成测试数据
Oct 15 Python
python实现的各种排序算法代码
Mar 04 #Python
python 获取本机ip地址的两个方法
Feb 25 #Python
把大数据数字口语化(python与js)两种实现
Feb 21 #Python
python正则表达式修复网站文章字体不统一的解决方法
Feb 21 #Python
Python操作Mysql实例代码教程在线版(查询手册)
Feb 18 #Python
python的常见命令注入威胁
Feb 18 #Python
centos下更新Python版本的步骤
Feb 12 #Python
You might like
php xml实例 留言本
2009/03/20 PHP
PHP 高级课程笔记 面向对象
2009/06/21 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
php+mysql数据库查询实例
2015/01/21 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
jQuery each()方法的使用方法
2010/03/18 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
微信小程序实现的图片保存功能示例
2019/04/24 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
Python代码的打包与发布详解
2014/07/30 Python
详解Python中for循环的使用
2015/04/14 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
Python 日期的转换及计算的具体使用详解
2020/01/16 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
故宫的导游词
2015/01/31 职场文书
浅谈如何提高PHP代码质量之单元测试
2021/05/28 PHP