首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何处理python字典分配?

如何处理python字典分配?
EN

Stack Overflow用户
提问于 2020-08-24 14:25:14
回答 1查看 57关注 0票数 0

我目前正在努力解决这个问题。需要帮助。我正在努力实现的是答案:如下:(预期答案)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{'and': 1.91629073, 'document': 1.22314355, 'first': 1.51082562, 'is': 1., 'one': 1.91629073, 'second': 1.91629073, 'the': 1., 'third': 1.91629073, 'this,: 1.}        ]

但我实际得到的是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{'and': 2.791759469228055, 'document': 3.0794415416798357, 'first': 2.9459101490553135, 'is': 3.1972245773362196, 'one': 2.791759469228055, 'second': 2.791759469228055, 'the': 3.1972245773362196, 'third': 2.791759469228055, 'this': 3.1972245773362196}

主要考虑的是这个代码:代码和公式是正确的,但由于某种原因,它在in len(语料库)中接受了几个额外的数值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vocab1[word2] = 1+(math.log(1+len(corpus)/1+count))

实际的代码从这里开始:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
corpus = [
 'this is the first document',
 'this document is the second document',
 'and this is the third one',
 'is this the first document',]

import math
unique_words = set() # at first we will initialize an empty set
lenofcorpus= len(corpus)
# print(lenofcorpus)
vocab1 = dict()
# vocab = dict()
# check if its list type or not
if isinstance(corpus, (list,)):
    for row in corpus: # for each review in the dataset
        for word in row.split(" "): # for each word in the review. #split method converts a string into list of words
            if len(word) < 2:
                continue
            unique_words.add(word)
    unique_words = sorted(list(unique_words))
    # print(unique_words)
    for idx, word2 in enumerate(unique_words) :
      count = 0
      for sentence in corpus :
        if word2 in sentence :
          count+=1
      # print(word2, count)
          vocab1[word2] = count
          # print(lenofcorpus)
          vocab1[word2] = 1+(math.log(1+len(corpus)/1+count))#its taking log of 12/2 instead it should take 5/2, its taking 7 extra or six
    print(vocab1)

我想知道怎样才能得到想要的答案。其次,得出这个答案的思维过程是什么,我做错了什么。如果有人能给出一个解释,那真的会很有帮助。我知道我在字典循环函数和赋值方面也做了一些错误的事情。仅供参考:len(语料库)=4#这是整个语料库的长度,它有4个句子。

EN

回答 1

Stack Overflow用户

发布于 2020-08-24 14:38:52

您缺少括号。您描述的结果与您想要的结果相对应:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vocab1[word2] = 1+(math.log((1+len(corpus))/(1+count)))

或拼写为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
numerator = (1+len(corpus))
denominator = (1+count)
result = 1+math.log(numerator/denominator)

你最初写的东西等同于

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vocab1[word2] = 1+math.log(1+(len(corpus)/1)+count)

当你指的是x/(y+z)时编写x/y+z是一个很常见的错误,或者当你指的是(x+y)/z时编写x+y/z是一个很常见的错误,你已经设法同时做到了这两点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63562995

复制
相关文章
Python中数据的处理(字典)—— (三)
从这两行代码中我们可以看出,字典使用 大括号来装 元素的, 然后我们用双引号放键名,后面加一个冒号,然后冒号后面 的是值,“键”与“值”   一一对应
Gorit
2021/12/09
1.4K0
Python中数据的处理(字典)—— (三)
Python中如何遍历字典
今天在写一个判断列表中的元素是否与字典中的key值相等的时候,需要用到字典的遍历,经过查阅资料,知道怎么遍历字典的key值;
bear_fish
2018/09/20
1.6K0
Python中如何遍历字典
python处理列表和字典的小技巧
一、获取字典中value最大对应的key key = max(my_dict, key=my_dict.get) 例子 二、 从列表或字典中随机选取一个元素 import random 2.1 从列表中随机选取一个元素 random_value = random.choice(my_list) 2.2 从字典中随机选取一个元素的键或值 random_key = random.choice( list( my_dict.keys() ) ) random_value = random.choice(
SL_World
2021/09/18
1.1K0
【说站】python如何访问字典
1、字典中的元素不能通过索引来访问,只能是通过键来查找对应的值,有两种不同的写法。
很酷的站长
2022/11/23
7550
【说站】python如何访问字典
python字典移除_python修改字典
luntan.txt的来源,地址:https://www.cnblogs.com/zlc364624/p/12285055.html
全栈程序员站长
2022/11/17
8290
python字典移除_python修改字典
python 存储字典_python 字典存储
最近开始学习python语言,所以在学习中做了一些记录,这次讲的是元组、列表和字典的基础操作和区别,至于代码都用图片是因为,看过复制了不如自己动手敲几遍的熟,直接在交互模式下进行即可。
用户7886150
2021/01/13
2.8K0
python 如何判断字典是否为空?
在python里,{},[],(),等都等价于False! if dict: print 'not Empty'
py3study
2020/01/09
21.3K0
如何使用Python中的字典解析
列表解析,是Python中常用的操作,它语法简单,循环速度足够快。但是,你了解字典解析吗?它跟列表解析一样吗?
老齐
2020/06/05
4.6K0
如何在python中定义有序字典
0x00 前言 最近遇到一个大坑,在测一个程序的时候。程序接受的数据是json,但是要求json是有序的(吐槽一样,要求有序的用json干屁啊!) 当我用python构造字典的时候,总会给我排序,用json.dumps转化为json后。导致程序解析失败。所以,在此研究了一下如何构造有序的json。 0x01 解决 网上查了一下,用到了python中有序字典OrderdDict,在collections库中。 在默认情况下: >>> d= {} >>> d["2"]=2 >>> d["1"]=1 >>> d[
WeaponX
2018/07/11
1.7K0
你如何在 Python 中循环字典?
Python是编程语言,也是最流行的面向对象编程语言之一,它是围绕字典构建的。字典被描述为多个对象的书面映射。Python 字典允许您以灵活的方式组织数据,以复杂的结构存储键值对,并以相同的名称访问它们。
很酷的站长
2023/02/20
6.3K0
你如何在 Python 中循环字典?
python字典嵌套字典实例
日志文件样式: 2018-06-27 09:07:37 Postman[INFO]: [1530061656f8lda-7M5E9] from: <lilh@test.com><router>, to: <xiey@test.com,zhengj@test.com>, size: 22018 2018-06-27 09:07:37 Postman[INFO]: [1530061656f8lda-7M5E9] system rule send: pass filter 2018-06-27 09:07:37
py3study
2020/01/09
1.3K0
Python 字典
字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: d = {key1 : value1, key2 : value2 键必须是唯一的,但值则不必。 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。 dic = {'name':'jin','age':18,'sex':'male'} print(dic)#{'name': 'jin', 'sex': '
IT架构圈
2018/06/01
1.6K0
python 字典
  字典是一种可变容器模型,且可存储任意类型对象。字典的每个键值对(key->value)用冒号“:”分割,每个键值对之间用逗号“,”分割,整个字典包括在花括号“{}”中
py3study
2020/01/17
1.7K0
Python——字典
字典是一种常见的数据结构,通常在别的语言里,可能会称呼它为哈希表,HashMap。无论怎么样,字典其实就是键值对。是以key-value的形式存在的。
zy010101
2021/03/22
2.1K0
Python——字典
python - 字典
*********************字典******************
py3study
2020/01/10
2.1K0
Python - 字典
     字典是无序可变的对象集合 ,字典当中的元素是通过键来存取的,而不是通过偏移存取。字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
似小陈吖
2023/10/17
1930
Python 字典
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
用户8442333
2021/05/26
1.7K0
点击加载更多

相似问题

如何快速分配python字典链?

223

python字典,分配列表

12

如何分配字典中的值?(Python)

22

Python如何在字典中处理#

31

python如何处理内存分配?

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文