集合Set

+无序不重复元素(键)集
+和字典类似,但是无“值”

创建

x = set()
x = {key1,key2,...}

添加和删除

x.add('body')
x.remove('body')

集合的运算符

运算符 含义

  •        差集

& 交集

| 并集

!= 不等于

== 等于

in 成员

for key in set 枚举

+中文分词

如:我爱北京天安门。->我/爱/北京/天安门/。

算法:正向最大匹配

从左到右扫描取尽可能长的词

如:研究生命的起源->研究生/命/的/起源

“研究生”是词,且比“研究”更长

自然语言处理

处理此问题需要一个词典

正向最大匹配分词

def load_dict(filename):
word_dict = set()
max_len = 1
f = open(filename)
for line in f:
word = unicode(line .strip(),'utf-8')
word_dict.add(word)
if len(word) > max_len:
max_len = len(word) return max_len,word_dict def fmm_word_seg(sent,max_len,word_dict):
begin = 0
words = []
sent = unicode(sent,'utf-8') while begin < len(sent):
for end in range(begin + max_len,begin,-1):
if sent[begin:end] in word_dict:
words.append(sent[begin:end])
break
begin = end return words max_len,word_dict = load_dict('lexicon.dic')
sent = raw_input('Input a sententce:')
words = fmm_word_seg(sent,max_len,word_dict)
for word in words:
print word

数据结构对比

note 12 集合Set的更多相关文章

  1. Java学习日记-12 集合(2)

    一.List<E>接口(超级接口Collection,List比Collection多重载了一些索引作为形参的方法)1.实现类ArrayList\LinkedListArrayList顺序 ...

  2. 12集合(3)-----Map

    一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...

  3. 12集合(2)-----Set

    一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...

  4. 12集合(1)-----List

    一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...

  5. python note 12 生成器、推导式

    1.生成器函数 # 函数中如果有yield 这个函数就是生成器函数. 生成器函数() 获取的是生成器. 这个时候不执行函数# yield: 相当于return 可以返回数据. 但是yield不会彻底中 ...

  6. python note 07 集合

    1.删除特例 lis = [11,22,33,44,55] for i in range(len(lis)): print(i) del lis[i] print(lis) #每删除链表中一个值链表就 ...

  7. plsql programming 12 集合(忽略, 个人感觉用不到)

    关联数组, 嵌套表, varray 个人并不推荐使用集合, 因为操作有别于普通字段. 集合中每一个元素的数据类型都是相同的, 因此这些元素都是同质的(同质元素) 这一章的内容先忽略吧, 因为个人感觉用 ...

  8. C#面向对象12 集合

    ArrayList和HashTable集合 1.ArrayList集合 ***添加元素 using System; using System.Collections.Generic; using Sy ...

  9. Alpha Release Note 12/15/2015

    内容提要: ******Personal Photo Experience可供您存放所有的私人照片,系统会自动整理内容,您可以借助搜索功能快速找到所需图片,同时过滤重复图片和低质量图片,给您全新的搜索 ...

随机推荐

  1. 运动控制之一_PID控制理论

    PID算法是早期发展起来的控制算法,该算法因其简单.鲁棒性强且可靠性高而被广泛地应用于过程控制和运动控制中. 常规的PID控制系统原理框图如下所示: PID控制系统原理图 误差信号Err(t)输入到控 ...

  2. JavaScript构造函数原理

    1.var obj={} plainObject 对象字面量/对象直接量2.构造函数创建 1).系统自带的构造函数 Object() var obj=new Object(); 和 var obj = ...

  3. 通过JQuery的$.ajax()把 json 数据 post 给 PHP

    通过JQuery的$.ajax()把 json 数据 post 给 PHP时的几种情况: 无法在PHP中通过$_POST 以及 $_REQUEST 获取json数据,即 $json = $_POST[ ...

  4. Python学习之路并发编程--信号量、事件、队列及生产消费模型

    1. 信号量 对于多进程来说,多个进程同时修改数据,就可能出现安全隐患,所以引入了锁,这一机制,但锁只能有一把来控制一个的开关,当你需要几把锁的时候,就可能用到信号量的概念.他是用了锁的原理,内置了一 ...

  5. margin外边距属性

    外边距属性: 设置元素与元素之间的距离(外边距),4个方向(上右下左). margin:长度值|百分比|auto margin-top margin-right margin-bottom margi ...

  6. app内嵌vue h5,安卓和ios拦截H5点击事件

    安卓和ios拦截h5点击事件,这个函数事件必须是暴漏在window下的 安卓和ios拦截普通h5函数: <div onclick = "show(),window.android.sh ...

  7. liunx学习笔记

    告知-----------------------------------grub启动时滚动的代码屏默认我们执行命令使用的为bash,unix使用的为csh能够通过service 程序名进行start ...

  8. oracle 常见查询题

    查询比本部门平均薪水高的员工信息 解法一: select d.deptno,e.empno,e.ename,e.sal,d.avgsal from emp e, (select deptno,avg( ...

  9. hibernate的lazy初始化结果

    package com.ehcache; import java.io.Serializable; public class User implements Serializable{ private ...

  10. admin-6

    Admin06 基本权限访问方式(权限) 读取:允许查看内容-read r 写入:允许修改内容-write w 可执行:允许运行和切换-execute x 对与文本文件: r:cat head tai ...