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

看到别人写代码,对于字符串列表,用到了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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值