相关疑难解决方法(0)

是否在Python 3.6+中订购了字典?

字典在Python 3.6中排序(至少在CPython实现下),与之前的版本不同.这似乎是一个重大变化,但它只是文档中的一小段.它被描述为CPython实现细节而不是语言特性,但也暗示这可能成为未来的标准.

在保留元素顺序的同时,新字典实现如何比旧字典实现更好?

以下是文档中的文字:

dict()现在使用PyPy开创的"紧凑"表示.与Python 3.5相比,新dict()的内存使用量减少了20%到25%.PEP 468(在函数中保留**kwargs的顺序.)由此实现.这个新实现的顺序保留方面被认为是一个实现细节,不应该依赖(这可能会在未来发生变化,但是在更改语言规范之前,希望在几种版本的语言中使用这个新的dict实现为所有当前和未来的Python实现强制命令保留语义;这也有助于保持与随机迭代顺序仍然有效的语言的旧版本的向后兼容性,例如Python 3.5).(由INADA Naoki在issue 27350中提供.最初由Raymond Hettinger提出的想法.)

2017年12月更新:Python 3.7 保证dict保留插入顺序

python dictionary python-3.x python-internals python-3.6

386
推荐指数
5
解决办法
8万
查看次数

python是带字符串的运算符行为

我无法理解以下行为.我正在创建2个字符串,并使用is运算符来比较它.在第一种情况下,它的工作方式不同.在第二种情况下,它按预期工作.我使用逗号或空格的原因是什么,它False与比较is时显示,当没有使用逗号,空格或其他字符时,它给出True

Python 3.6.5 (default, Mar 30 2018, 06:41:53) 
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 'string'
>>> b = a
>>> b is a
True
>>> b = 'string'
>>> b is a
True
>>> a = '1,2,3,4'
>>> b = a
>>> b is a
True
>>> b = '1,2,3,4'
>>> b is a
False
Run Code Online (Sandbox Code Playgroud)

有关python以不同方式解释字符串的原因的可靠信息吗?我最初理解,ab指同一个对象.然后说 …

python identity python-3.x python-internals

8
推荐指数
1
解决办法
648
查看次数

Python更快的字典替代?

我正在使用一个简单的情绪挖掘系统Naive Bayes classifier.

为了训练我的分类器,我有一个文本文件,其中每行包含一个令牌列表(从推文生成)和相关的情绪(0表示-ve,4表示正数).

例如:

0 @ switchfoot http : //twitpic.com/2y1zl - Awww , that 's a bummer . You shoulda got David Carr of Third Day to do it . ; D
0 spring break in plain city ... it 's snowing
0 @ alydesigns i was out most of the day so did n't get much done
0 some1 hacked my account on aim now i have to make a new one
0 really do n't …
Run Code Online (Sandbox Code Playgroud)

python performance dictionary nlp

7
推荐指数
1
解决办法
1万
查看次数

还有比字典更快的东西吗?

我倾向于n-gram,并建立一个字典来保存n-gram值.我有这样的事情:

{
  "it is" : 0.01,
  "this is" : 0.005,
  "hello i" : 0.2
  "hello you" : 0.3
  ...
}
Run Code Online (Sandbox Code Playgroud)

我的字典有大约300万个密钥,需要0.0002(s)得到一个二元值.

有什么比dict我能用的更快吗?

python dictionary n-gram

5
推荐指数
1
解决办法
326
查看次数