第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用字典和字符串的單詞/對列表

使用字典和字符串的單詞/對列表

翻翻過去那場雪 2021-03-30 17:09:36
我不確定如何在python 3.xx中完成此問題,請定義一個帶一個參數(shù)的words函數(shù):1.文本,字符串文本包含帶有單詞的句子,單詞之間用空格分隔并以句點(diǎn)結(jié)尾。該函數(shù)返回一個word / sentenceList對的字典,其中word是文本中的每個不同單詞,而句子列表是該單詞出現(xiàn)的句子索引列表。注意:例如,如果text ='I say,您的代碼對大小寫不敏感。我的意思是。我的意思是我說的。我做。”函數(shù)返回{'i“:[0,1,2],'say':[0,1],'what':[0,1],'mean':[0,1],'要做:[2]}
查看完整描述

2 回答

?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個贊

由于某些原因,人們經(jīng)常問如何在沒有defaultdict的情況下執(zhí)行此操作


>>> text= "I say what I mean. I mean what I say. i do."

>>> sentences = text.lower().split('.')

>>> dic = {}

>>> for i, sen in enumerate(sentences):

...     for word in sen.split():

...         if word not in dic:         # you just need these

...             dic[word] = set()       # two extra lines

...         dic[word].add(i)

... 

>>> dic

{'i': set([0, 1, 2]), 'do': set([2]), 'say': set([0, 1]), 'what': set([0, 1]), 'mean': set([0, 1])}

如果您確實(shí)想要列表,可以通過以下修改來做到這一點(diǎn)


>>> text= "I say what I mean. I mean what I say. i do."

>>> sentences = text.lower().split('.')

>>> dic = {}

>>> for i, sen in enumerate(sentences):

...     for word in sen.split():

...         if word not in dic:

...             dic[word] = [i]

...         elif dic[word][-1] != i:     # this prevents duplicate entries

...             dic[word].append(i)

... 

>>> dic

{'i': [0, 1, 2], 'do': [2], 'say': [0, 1], 'what': [0, 1], 'mean': [0, 1]}

如果您甚至不被允許使用枚舉


>>> text= "I say what I mean. I mean what I say. i do."

>>> sentences = text.lower().split('.')

>>> dic = {}

>>> i = -1

>>> for sen in sentences:

...     i += 1

...     for word in sen.split():

...         if word not in dic:

...             dic[word] = [i]

...         elif dic[word][-1] != i:     # this prevents duplicate entries

...             dic[word].append(i)

... 

>>> dic

{'i': [0, 1, 2], 'do': [2], 'say': [0, 1], 'what': [0, 1], 'mean': [0, 1]}


查看完整回答
反對 回復(fù) 2021-04-05
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個贊

您可以collections.defaultdict在這里使用:


>>> from collections import defaultdict

>>> text= "I say what I mean. I mean what I say. i do."

#  convert the text to lower-case and split at `'.'` to get the sentences.

>>> sentences = text.lower().split('.')  

>>> dic = defaultdict(set)       #sets contain only unique iteme

for i,sen in enumerate(sentences): #use enumerate to get the sentence as well as index

    for word in sen.split():       #split the sentence at white-spaces to get words

        dic[word].add(i)


>>> dic

defaultdict(<type 'set'>,

{'i': set([0, 1, 2]),

 'do': set([2]),

 'say': set([0, 1]),

 'what': set([0, 1]),

 'mean': set([0, 1])})

使用普通字典:


>>> dic = {}

for i,sen in enumerate(sentences):

    for word in sen.split():

        dic.setdefault(word,set()).add(i)

...         

>>> dic

{'i': set([0, 1, 2]),

 'do': set([2]),

 'say': set([0, 1]),

 'what': set([0, 1]),

 'mean': set([0, 1])}

沒有enumerate:


>>> dic = {}

>>> index = 0

for sen in sentences:

    for word in sen.split():

        dic.setdefault(word,set()).add(index)

    index += 1

...     

>>> dic

{'i': set([0, 1, 2]), 'do': set([2]), 'say': set([0, 1]), 'what': set([0, 1]), 'mean': set([0, 1])}



查看完整回答
反對 回復(fù) 2021-04-05
  • 2 回答
  • 0 關(guān)注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號