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

问题:查找一些英文词在哪些小句中出现了,当然是用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}

时间: 2024-12-31 14:07:50

python解决字典中的值是列表问题的方法_python的相关文章

python解决Fedora解压zip时中文乱码的方法_python

前言 很多时候在windows下压缩文件没问题,但是到了Linux下,出现乱码,很常见.以前在Ubuntu下,用`unzip -O GBK filename.zip` 就可以搞定. 换了Fedora后,暂时没发现乱码的压缩文件.晚上下载一本书的光盘,又碰到了乱码.尝试之前的方法没成功.看了下unzip的help,没-O那个参数了== 刚好找到一个用python解决的办法,分享下. 新建一个`.py`后缀的文件,直接复制粘贴代码: #!/usr/bin/env python # -*- codin

使用jQuery快速解决input中placeholder值在ie中无法支持的问题

 本篇文章主要介绍了使用jQuery快速解决input中placeholder值在ie中无法支持的问题.需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http

android-Android中怎么把一个方法中的值传递到另一个方法中

问题描述 Android中怎么把一个方法中的值传递到另一个方法中 如下 public final Handler viewHandler = new Handler() {...........................};假设这里面有一个值要传递到 public void initViews() { .'''''''''''}:这里面 请大神指教 解决方案 为你想传入的那个方法添加传入数据类型的参数,然后在后一个方法中处理传入的数据,调用此方法的时候就可以传值了 public void

C语言实现找出二叉树中某个值的所有路径的方法_C 语言

本文实例讲述了C语言实现找出二叉树中某个值的所有路径的方法,是非常常用的一个实用算法技巧.分享给大家供大家参考. 具体实现方法如下: #include <iostream> #include <vector> #include <iterator> #include <algorithm> using namespace std; vector<int> result; struct Node { Node(int i = 0, Node *pl

Python中多线程的创建及基本调用方法_python

1. 多线程的作用简而言之,多线程是并行处理相互独立的子任务,从而大幅度提高整个任务的效率. 2. Python中的多线程相关模块和方法Python中提供几个用于多线程编程的模块,包括thread,threading和Queue等 thread模块提供了基本的线程和锁的支持,除产生线程外,也提供基本的同步数据结构锁对象,其中包括: start_new_thread(function, args kwargs=None)  产生一个新的线程来运行给定函数 allocate_lock()  分配一个

python中readline判断文件读取结束的方法_python

本文实例讲述了python中readline判断文件读取结束的方法.分享给大家供大家参考.具体分析如下: 大家知道,python中按行读取文件可以使用readline函数,下面现介绍一个按行遍历读取文件的方法,通过这个方法,展开我们要讨论的问题: 复制代码 代码如下: filename = raw_input('Enter your file name')  #输入要遍历读取的文件路径及文件名 file = open(filename,'r') done = 0 while not  done:

Python实现向QQ群成员自动发邮件的方法_python

本文实例讲述了Python实现向QQ群成员自动发邮件的方法.分享给大家供大家参考.具体实现方法如下: 原理: 我们需要先获取QQ群中的所有成员并保存到一个txt文本中去,然后再由python读取文件然后进行批量邮件发送了,具体解决方案如下: 1. 获取QQ群成员QQ号码,QQ群成员信息可以在如下网页中获取,选择全部成员保存在txt中即可 http://qun.qzone.qq.com/group#!/123456/member (这里的123456为QQ群号码) 2. 解析获取的QQ群成员列表l

python 自动化将markdown文件转成html文件的方法_python

一.背景 我们项目开发人员写的文档都是markdown文件.对于其它组的同学要进行阅读不是很方便.每次编辑完markdown文件,我都是用软件将md文件转成html文件.刚开始转的时候,还没啥,转得次数多了,就觉得不能继续这样下去了.作为一名开发人员,还是让机器去做这些琐碎的事情吧.故写了两个脚本将md文件转成html文件,并将其放置在web服务器下,方便其他人员阅读. 主要有两个脚本和一个定时任务: •一个python脚本,主要将md文件转成html文件: •一个shell脚本,主要用于管理逻

python通过urllib2获取带有中文参数url内容的方法_python

本文实例讲述了python通过urllib2获取带有中文参数url内容的方法.分享给大家供大家参考.具体如下: 对于中文的参数如果不进行编码的话,python的urllib2直接处理会报错,我们可以先将中文转换成utf-8编码,然后使用urllib2.quote方法对参数进行url编码后传递. content = u'你好 jb51.net' content = content.encode('utf-8') content = urllib2.quote(content) api_url =