看到别人写代码,对于字符串列表,用到了set:gVocabularyList = set(line.strip() for line in open("vocabulary.txt"))

而不是list

所以去查查,两者区别

python set vs list

然后需要去搞清楚:

如何初始化set

如何给set添加元素

set的个数

set特点:无序的

唯一的

适用于:成员测试,是否存在

去除重复项

常见数学计算intersection交集

union联合

difference差异

symmetric difference

和其他集合类似,支持如下操作:x in set

len(set)

for x in set

不支持索引indexing,切片slicing

很适合此处的单词表的场景

python set初始化

【总结】

然后去写代码gVocabularySet = set([])

if stripedLowerWord not in gVocabularySet:

saveFilterOut(stripedLowerWord, sentence)

return False

def initgVocabularySet(connection):

“””init vocabulary set”””

global gVocabularySet

# NEW: get vocabulary from mysql ‘thesaurus’ table

getVocabularySql = “SELECT * FROM `%s`” % (VocabularyTableName)

logging.info(“getVocabularySql=%s”, getVocabularySql)

getVocabularyOk, resultDict = connection.executeSql(getVocabularySql)

logging.info(“getVocabularyOk=%s, resultDict=%s”, getVocabularyOk, resultDict)

if getVocabularyOk:

vocabularyRecordList = resultDict[“data”]

for eachRecord in vocabularyRecordList:

wordName = eachRecord[“name”]

wordName = wordName.lower()

# gVocabularyList.append(wordName)

gVocabularySet.add(wordName)

logging.info(“gVocabularySet=%s”, gVocabularySet)

vocabularySetLen = len(gVocabularySet)

logging.info(“vocabularySetLen=%s”, vocabularySetLen)

else:

logging.error(“Get vocabulary failed of sql: %s”, getVocabularySql)

总的来说:set适用于检测某元素是否在集合内、对集合进行一定的数学操作

不支持indexing,slicing

list普通的数组

支持indexing,slicing

python list 换位置_【已解决】Python中把list换成set相关推荐

  1. python默认安装位置_如何更改python中pip的默认安装路径

    具体方法: 1.查看 site.py 文件的位置(一般在python安装目录的\Lib下),可使用指令查询:python -m site -help 2.打开site.py文件,更改 USER_BAS ...

  2. python 3d绘图 汉字_完美解决Python matplotlib绘图时汉字显示不正常的问题

    Matplotlib是一个很好的作图软件,但是python下默认不支持中文,所以需要做一些修改,方法如下: 1.在python安装目录的Lib目录下创建ch.py文件. 文件中代码为: 保存,以后通过 ...

  3. python爬虫网络中断_如何解决Python爬虫中的网络掉线问题?

    在学校里的时候,除了上课,还有一大幸福的事情,就是用着学校的网线网络.当然玩的时候很开心,就是没事关键词时刻掉链子.时不时地网络掉线让人非常恼火,什么团战在梦游啊,看剧卡住不动了,相信能引起很多小伙伴 ...

  4. factorymenu什么意思_宏基20lsquo;显示屏AUTO和MENU是什么意思,在什么位置_已解决 - 阿里巴巴生意经...

    一.宏基(Acer) 在关机的状态下,先同时按住"AUTO"和"MENU"键,再按下"POWER"键打开显示器.此时按"MENU& ...

  5. 已解决Python向数据库插入数据的字符串中含有单引号或双引号报错

    已解决Python向数据库插入数据的字符串中含有单引号或双引号报错:(102, b"Incorrect syntax near 'S'.DB-Lib error message 20018, ...

  6. 已解决Python调用免费申请的百度图形识别接口案例

    已解决Python调用免费申请的百度图形识别接口{'error_code': 18, 'error_msg': 'Open api qps request limit reached'} 文章目录 报 ...

  7. 已解决python selenium模块自动化操作谷歌浏览器点击元素失效问题解决(亲测有效)

    已解决python selenium模块自动化操作浏览器点击元素,抛出异常selenium.common.exceptions.ElementClickInterceptedException: Me ...

  8. 已解决Python pandas.read_excel读取Excel文件报错

    已解决(Python pandas.read_excel读取Excel文件报错)io = ExcelFile(io,storage_options=storage.options, engine=en ...

  9. 已安装Anaconda情况下,命令行pip,python报错(详细 已解决)

    已安装Anaconda情况下,命令行pip,python报错(已解决) 这是报错截图 解决方案如下: 1.首先可以去找到anaconda文件夹,并打开该文件目录下的Script文件夹,查看是否有pip ...

  10. python不是内部文件_已安装python,但是出现‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。...

    解决方法: 1.打开python shell查看你的python安装路径(黄色标注) >>> import sys >>> sys.path ['', 'C:\\U ...

最新文章

  1. java多线程:线程体往外抛出异常的处理机制实践
  2. 开课吧 Python专家级编程:机制与实操
  3. img解包工具_3、Linux基础命令篇、压缩打包工具
  4. fraction在java_Fraction.java
  5. java实现人脸识别源码【含测试效果图】——Dao层(IBaseDaoUtil)
  6. MYSQL--事务隔离
  7. javascript xml转json
  8. Rabbit MQ 安装
  9. 微信群发红包原理 计算机,微信红包实现原理探讨
  10. k2p H大老毛子 padavan 2月20日固件
  11. vue项目中微信分享安卓正常,ios报签名错误
  12. 百度地图API学习之定位当前位置及自定义覆盖物和信息窗口
  13. 微软2023届秋季校园招聘 | 内推名额等待优秀的你
  14. 【串口服务器】的桥接模式
  15. 科恩第一章Friday, October 29, 2021 10:13 AM
  16. 我的世界超级英雄无限服务器,我的世界超级英雄无限整合包
  17. 众多mock工具,这一次我选对了
  18. VUE3 响应式 API 之 toRef 与 toRefs
  19. ps界面为啥突然变大了_对新手非常友好的5个PS小技巧
  20. Error Some file crunching failed, see logs for details 解决方案

热门文章

  1. OpenCV Windows Pack but it has no binaries compatible with your configuratio
  2. boost库之tcp client 回调不正常
  3. TypeError: iter() returned non-iterator of type
  4. 萤石云 服务器错误 10017
  5. 对实体 characterEncoding 的引用必须以 ';' 分隔符结尾
  6. 有关eigen库的一些基本使用方法
  7. IP协议号(TCP协议号/UDP协议号)
  8. 华为交换机STP端口角色状态
  9. adb devices检测不到夜神模拟器的解决办法
  10. 内存空间分几部分:代码段、数据段,栈,堆 (收集整理)