将键和值存储在像字典一样的列表中?

时间:2018-02-03 00:04:49

标签: python python-3.x list dictionary

如何制作类似字典的列表? 当我在下面有一个文本时

  

科学家希望面部识别可以帮助他们   了解神经退行性疾病。

我想制作一份发布清单。例如,在这种情况下,每个单词出现一次,然后我认为列表应该是

[(('the'), 1),
(('scientists'), 1), 
(('hope'), 1),........]

我还假设根据这些列表制作分布图。 在这种情况下还有其他更好的方法吗? 如果您详细解释,我们将非常感激。

1 个答案:

答案 0 :(得分:1)

我不知道你为什么要在这里使用列表,字典会更容易制作和访问。更好的是,collections.Counter可以直接从一系列单词构建:

from collections import Counter

words = ["the", "scientists", ...]

word_counter = Counter(words) # a subclass of dict

# word_list = list(word_counter.items()) # this would convert it to a list of tuples

如果您需要保留订单,可以在列表中使用索引字典:

words = ["the", "scientists", ...]

counts = []
indices = {}
for word in words:
  if word in indices:
    counts[word][1] += 1
  else:
    indices[word] = len(counts)
    counts.append([word, 1])

您也可以在列表中搜索正确的索引,但速度更快。